Hoje vou falar um pouquinho de como transferir arquivos e pastas entre servidores de maneiras segura.

SSH (Secure Shell):

Esse protocolo permite fazer conexões remotas entre computadores, ele tem as mesmas funções que o telnet com a vantagem da criptografia na conexão, ele e muito usado em VPN para fazer tunelamento.

RSYNC :

Muito usado em sistemas UNIX para fazer sincronização  de arquivos e diretórios, ele basicamente compara a origem com o destino e atualiza somente o que foi alterado tornando mais eficiente essa atualização.

Juntando essas duas funcionalidades (ssh+rsync)  conseguimos fazer troca de arquivos entre servidores de uma maneira eficiente e segura evitando que pessoas erradas vejam nossos arquivos, quando fazemos isso através da internet entre dois datacenters diferentes.

O comando e bem simples:

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/ 

Primeiro usamos o rsync e falamos para ele que vamos sincronizar o sistema de arquivos de formar recursiva e comprimida (  -avz ), o “-e” avisa que vamos passar essa lista de arquivos através de um outro comando ( podendo ser um script ).

Agora vamos fazer a conexão com o ssh, na verdade e bem simples, informamos o usuário do sistema com o endereço do servidor que tem aquele usuário registrado separando eles por um @ simples, esse endereço pode ser ser um IP ou DNS, logo em seguida colocamos “:” e mostramos qual o caminho da pasta que vamos conectar,por exemplo “/home/rick”.

Pronto agora o rsync ja recebeu qual o diretório que ele vai se conectar e ler os arquivos, agora precisamos avisar para ele aonde jogar esses arquivos, para isso basta dar um espaço e falar qual o diretório “/home/novoRick”, agora ele vai registrar o RSA ( a criptografia geralmente usada ) pedir seu usuário e senha e pronto, agora so esperar ele terminar de copiar as pastas.

Espero ter ajudado com essa dica.