
ソース サーバーからバックアップ ディレクトリをコピーし、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
ソース サーバーで削除されたファイルを削除するには追加します。