Baris perintah Linux untuk membuat file log untuk rsync

3

Saya mencoba membuat file teks log setelah melakukan rsync. Saya sudah mencoba menggunakan baris perintah: rsync -av / source / / dest /> log.txt File teks yang dibuat hanya menampilkan nama file yang "berbeda" antara folder sumber & folder tujuan, yang dekat untuk apa yang saya inginkan.

Apakah ada cara bagi saya untuk membuat file log yang mengelompokkan file yang "berbeda" menjadi file yang dimodifikasi & dibuat?

Terima kasih.

kasrus
sumber

Jawaban:

6

Gunakan opsi --log-file.

rsync -av /source/ /dest/ --log-file=mylog.log
Tidak ada malaikat
sumber
3

Gagasan utama
Untuk setiap modern rsync dimungkinkan untuk menggunakan, --infobukan -v: misalnya:

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

Beberapa operasi tambahan

Output / file yang dihasilkan akan mirip dengan

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

Kemudian Anda dapat menggunakan grepuntuk memfilter hasil, misalnya dengan sesuatu seperti

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

Pada baris pertama saya menghapus string 'uptodate' dengan sed untuk memiliki output yang lebih bersih. Ini membuka masalah jika Anda memiliki file bernama ' uptodate ' tentu saja :-) Itu harus ditangani dengan cara yang berbeda ...


Beberapa kata lagi

Anda dapat memilih info dan tingkat info yang Anda inginkan untuk setiap opsi

Di dunia modern rsync , -vopsinya setara dengan pengaturan grup opsi --info dan --debug.

Anda dapat memilih untuk menggunakan opsi-opsi yang lebih baru ini sebagai tambahan, atau sebagai pengganti --verbose, karena setiap pengaturan berbutir halus menimpa pengaturan tersirat dari -v.

Keduanya --infodan --debugmemiliki cara untuk meminta bantuan yang memberi tahu Anda dengan tepat bendera apa yang ditetapkan untuk setiap peningkatan dalam verbositas.

Daftar yang diperoleh dengan rsync --info=helpdilaporkan di bawah ini sementara yang dari rsync --debug=helptidak dilaporkan sama sekali:

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

Dalam kasus pada rsync (client-server) tidak cukup modern, Anda harus menggunakan lebih vbanyak usaha. Memang Anda dapat menggunakan -vv, -vvv, -vvvvmeningkat setiap waktu di bertele-tele, tapi parsing akan lebih kompleks.

Lebih dari dua opsi -v seharusnya hanya digunakan jika Anda men-debug rsync

Kuliah yang sangat berguna mungkin ada man rsyncdi bagian di mana ia berbicara tentang pilihan -vdan terutama --info=FLAGS.

Cepat
sumber