ソースサーバーからバックアップディレクトリをコピーし、sftpコマンドを使用してターゲットサーバーの別のディレクトリに保存するシェルスクリプトを作成したいと思います。また、ターゲットサーバーにファイルを入れた後、ソースサーバーとターゲットサーバーのサイズを比較して、sftpが完全に成功したことを確認したいと思います。
答え1
sftp
これを行うには、代わりに指定されたツールを使用してくださいrsync
。たとえば、次のようになります。
ソースサーバーから:
rsync -av -e ssh /path/to/files target-server:/path/to/backup/
ターゲットサーバーから:
rsync -av -e ssh source-server:/path/to/files /path/to/backup/
これの利点は、変更されたファイルのみをコピーするか、ファイル内の変更のみをコピーすることです。デフォルトではサイズと修正時間を比較しますが、-c, --checksum
チェックサムに基づいて比較することもできます。
--delete
ソースサーバーから削除されたファイルを削除するには、追加します。