
Quero criar um script de shell que copie o diretório de backup do meu servidor de origem e coloque-o em um diretório diferente no servidor de destino pelo comando sftp. Além disso, depois de colocar o arquivo no servidor de destino, quero comparar o tamanho do servidor de origem e de destino para verificar se o sftp foi totalmente bem-sucedido ou não.
Responder1
Use uma ferramenta específica em vez de sftp
fazer isso, por exemplo rsync
:
Do servidor de origem:
rsync -av -e ssh /path/to/files target-server:/path/to/backup/
Do servidor de destino:
rsync -av -e ssh source-server:/path/to/files /path/to/backup/
Isso tem a vantagem de copiar apenas os arquivos alterados ou mesmo apenas as alterações dentro de um arquivo. Ele faz uma comparação de tamanho e tempo de modificação por padrão, mas você pode usar -c, --checksum
para comparar com base na soma de verificação.
Adicione --delete
para remover arquivos que foram excluídos no servidor de origem.