
Bashスクリプトでは、rsyncを使用してディレクトリの正確なコピーを作成します。
rsync --verbose --archive --update --delete \
~/cat-pics/ \
~/top-secret/
しかし、送信されたアイテムがあるかどうかについてのフィードバックをどのように受け取ることができますか?この操作でファイルが変更されたかどうかはどうすればわかりますか?特に、ファイルが追加、変更、削除されたかどうかを知りたいです。
このオプションを見ましたが、--stats
出力はbashスクリプトではなく人間のために作成されたようです。
どんなアドバイス?
答え1
-i
()を使用すると、--itemize-changes
各ファイル変更の出力を取得できます。
各出力行の最初の文字(デフォルトの形式)は、ファイルに何が起こったかを示します。必要に応じて、解析に関連する形式で形式を変更できます。
「<」は、ファイルがリモートホストに転送(転送)中であることを示します。
「>」は、ファイルがローカルホストに転送中(受信)であることを意味します。
「c」は、プロジェクトにローカルの変更/作成が発生することを意味します(たとえば、ディレクトリの作成やシンボリックリンクの変更など)。
'h'は、プロジェクトが他のプロジェクトへのハードリンクであることを示します(--hard-linksが必要です)。
「.」は、アイテムが更新されていないことを意味します(変更中の属性がある可能性があります)。
「*」は、項目別の出力領域の残りの部分にメッセージ(「削除」など)が含まれていることを意味します。