web-dev-qa-db-ja.com

rsyncのログファイルを作成するLinuxコマンドライン

Rsyncを実行した後、ログテキストファイルを作成しようとしています。コマンドラインを使用してみました:rsync -av/source// dest /> log.txt作成されたテキストファイルには、ソースフォルダーと宛先フォルダー(近い)の間で「異なる」ファイル名のみが表示されます私が欲しいものに。

「異なる」ファイルを変更および作成されたファイルにグループ化するログファイルを作成する方法はありますか?

ありがとうございました。

4
kasrus

--log-fileオプションを使用します。

rsync -av /source/ /dest/ --log-file=mylog.log
7
NoAngel

主なアイデア
modernrsyncの場合、--infoの代わりに-vを使用することが可能です。例:

rsync --info=COPY2,DEL2,NAME2,BACKUP2,REMOVE2,SKIP2 -a source/ dest/ > log.txt
# or eventually with --log-file=mylog.txt

いくつかの追加操作

結果の出力/ファイルは次のようになります

file1.Zip is uptodate
file2.odt
Dir1/
Dir1/file3.txt

次に、grepを使用して、たとえば次のような結果をフィルタリングできます。

grep    'is uptodate' mylog.txt | sed 's/is uptodate//g' > Already_Uptodate.txt
grep -v 'is uptodate' mylog.txt                          > Updated_Now.txt

最初の行で、文字列 'is uptodate'をsedで削除して、よりクリーンな出力を得ました。これは、 'is uptodate'という名前のファイルがある場合に問題を開きます。もちろん、別の方法で処理する必要があります...


いくつかの単語より

あなたは、各オプションに必要な情報と情報レベルを選択できます

modernrsyncでは、-vオプションは--infoおよび--debugオプションのグループの設定と同等です。

これらの新しいオプションを使用することを選択できますに加えて、または--verboseを任意のきめ細かい設定として使用する代わりに-vの暗黙の設定を上書きします。

--info--debugの両方に、詳細度の増加ごとにどのフラグが設定されているかを正確に伝えるヘルプを要求する方法があります。

rsync --info=helpで取得したリストは以下に報告されますが、rsync --debug=helpからのリストはまったく報告されません。

Use OPT or OPT1 for level 1 output, OPT2 for level 2, etc.; OPT0 silences.  

BACKUP     Mention files backed up
COPY       Mention files copied locally on the receiving side
DEL        Mention deletions on the receiving side
FLIST      Mention file-list receiving/sending (levels 1-2)
MISC       Mention miscellaneous information (levels 1-2)
MOUNT      Mention mounts that were found or skipped
NAME       Mention 1) updated file/dir names, 2) unchanged names
PROGRESS   Mention 1) per-file progress or 2) total transfer progress
REMOVE     Mention files removed on the sending side
SKIP       Mention files that are skipped due to options used
STATS      Mention statistics at end of run (levels 1-3)
SYMSAFE    Mention symlinks that are unsafe

ALL        Set all --info options (e.g. all4)
NONE       Silence all --info options (same as all0)
HELP       Output this help message

 Options added for each increase in verbose level:
1) COPY,DEL,FLIST,MISC,NAME,STATS,SYMSAFE
2) BACKUP,MISC2,MOUNT,NAME2,REMOVE,SKIP

Rsync(クライアントサーバー)のオンでは不十分な場合modernより多くのvとより多くの労力を使用する必要があります。実際、-vv-vvv-vvvvを使用して、毎回詳細度を上げることができますが、解析はより複雑になります。

Rsyncをデバッグする場合にのみ、3つ以上の-vオプションを使用する必要があります

man rsync、特に-vのオプションについて説明しているセクションの--info=FLAGSは、本当に役立つ講義です。

5
Hastur