Copiando arquivos usando netcat e tar
Dica publicada em Linux / Comandos
Copiando arquivos usando netcat e tar
Em um certo dia precisei copiar muitos arquivos entre servidores. Contudo, como se travavam de configurações de serviços,
era importante manter suas devidas permissões. Assim, precisei de algo que permitisse a cópia de tais arquivos, mantendo
as permissões e, é claro, de maneira não tão dispendiosa. Caso queira copiar os arquivos, basta fazer o seguinte.
No computador origem:
# tar pvc DIRETORIO_OU_ARQUIVO | nc IP_DESTINO PORTA_DESTINO
No computador destino:
# nc -l PORTA_DESTINO | tar pvx
Onde:
Esses comandos vão copiar DIRETORIO_OU_ARQUIVO para o diretorio atual (pwd) do computador destino. Os comandos foram executados como root pois, para se copiar arquivos de configuração, é necessário ter permissões de root, uma vez que esses arquivos normalmente estão localizados no /etc/. Esses comandos também funcionam usando um usuário comum, desde que PORTA_DESTINO seja maior que 1024.
Isso tudo NÃO podia ser feito via ssh, com um comando único, pois não era possível logar como root pelo ssh.
Fica aí a dica!
Abraços.
No computador origem:
# tar pvc DIRETORIO_OU_ARQUIVO | nc IP_DESTINO PORTA_DESTINO
No computador destino:
# nc -l PORTA_DESTINO | tar pvx
Onde:
- DIRETORIO_OU_ARQUIVO representa o que deseja enviar
- IP_DESTINO é o endereço IP do computador para o qual você deseja enviar os arquivos e
- PORTA_DESTINO é uma porta que precisa ser aberta, no caso, com o programa nc (netcat).
Esses comandos vão copiar DIRETORIO_OU_ARQUIVO para o diretorio atual (pwd) do computador destino. Os comandos foram executados como root pois, para se copiar arquivos de configuração, é necessário ter permissões de root, uma vez que esses arquivos normalmente estão localizados no /etc/. Esses comandos também funcionam usando um usuário comum, desde que PORTA_DESTINO seja maior que 1024.
Isso tudo NÃO podia ser feito via ssh, com um comando único, pois não era possível logar como root pelo ssh.
Fica aí a dica!
Abraços.