Bagaimana cara menambahkan cap waktu dan daftar file ke rsync log?

10

Saya ingin menambahkan timestamp dan daftar file ke log. Saat ini, saya hanya bisa mendapatkan satu. Perintah berikut untuk dapat melacak daftar file yang diperbarui tetapi tidak menambahkan timestamp.

rsync -avz --progress --delete / web / path / public_html / $ newhost: / web / path / public_html >> /var/log/rsync.log

sent 2345743 bytes  received 43205 bytes  530877.33 bytes/sec
total size is 14828110173  speedup is 6206.96
sending incremental file list
error_log  5740980 100%   36.98MB/s    0:00:00 (xfer#1, to-check=1405/1524)

sent 2344322 bytes  received 51694 bytes  684576.00 bytes/sec
total size is 14828115593  speedup is 6188.65

Perintah berikut dapat menambahkan timestamp ke log, tetapi tidak memberi tahu file mana yang diperbarui.

rsync -avz --progress --delete / web / path / public_html / $ newhost: / web / path / public_html --log-file = / var / log / rsync1.log --log-file-format = "% t \ n "

2012/01/03 17:30:05 [10505] Total transferred file size: 6170062 bytes
2012/01/03 17:30:05 [10505] Literal data: 5470 bytes
2012/01/03 17:30:05 [10505] Matched data: 6164592 bytes
2012/01/03 17:30:05 [10505] File list size: 2333282
2012/01/03 17:30:05 [10505] File list generation time: 0.002 seconds
2012/01/03 17:30:05 [10505] File list transfer time: 0.000 seconds
2012/01/03 17:30:05 [10505] Total bytes sent: 2345435
2012/01/03 17:30:05 [10505] Total bytes received: 28628
2012/01/03 17:30:05 [10505] sent 2345435 bytes  received 28628 bytes  527569.56 bytes/sec
2012/01/03 17:30:05 [10505] total size is 14828121798  speedup is 6245.88
garconcn
sumber

Jawaban:

8

Dari rsyncd.conf (5):
"Format log default adalah"% o% h [% a]% m (% u)% f% l ", dan"% t [% p] "selalu diawali ketika menggunakan parameter "file log". "

2012/01/04 03:19:12 [1461] building file list
2012/01/04 03:19:12 [1461] .d..t...... ./
2012/01/04 03:19:14 [1461] >f+++++++++ file1.pdf
2012/01/04 03:19:14 [1461] >f+++++++++ file2.pdf
2012/01/04 03:19:14 [1461] >f+++++++++ file3.pdf
2012/01/04 03:19:14 [1461] sent 40892313 bytes  received 72 bytes  16356954.00 bytes/sec
2012/01/04 03:19:14 [1461] total size is 81997177  speedup is 2.01


Saya percaya ini yang Anda inginkan? Coba perintah Anda tanpa opsi --log-format, dan baca halaman manual untuk rsyncd.conf dan cari "format log" untuk melihat opsi apa yang Anda miliki untuk menyesuaikan logfile.

Opsi lain yang sering saya gunakan dalam skrip rsync saya adalah menambahkan tanggal sebelum / sesudah rsync, seperti:

date >> /var/log/rsync.log
rsync -avz --progress --delete /src /dst >> /var/log/rsync.log
date >> /var/log/rsync.log

Dan opsi ketiga dan terakhir adalah menempatkan perintah rsync Anda dalam bash loop untuk mengawali setiap baris dengan tanggal.

Mattias Ahnberg
sumber
10

Jika Anda ingin melihat waktu untuk setiap file di klien rsync, Anda perlu menggunakan --out-format:

 rsync -avz --out-format="%t %f %b" remotehost:tmp . 

outputnya terlihat seperti ini:

2013/01/11 10:57:41 tmp/foo.txt 210

String Format Log:

%t: time
%f: file
%b: transfered bytes
guettli
sumber
0

Ganti >> /var/log/rsync.log replacedengan--log-file=/var/log/rsync.log -q

SledgehammerPL
sumber