Я хочу добавить в журнал отметку времени и список файлов. В настоящее время я могу получить только один. Следующая команда позволяет отслеживать обновленный список файлов, но не добавляет метку времени.
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
Следующая команда может добавить метку времени в журнал, но не сообщает, какие файлы были обновлены.
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
Если вы хотите видеть время для каждого файла в клиенте rsync, вам нужно использовать --out-format:
rsync -avz --out-format="%t %f %b" remotehost:tmp .
вывод выглядит так:
2013/01/11 10:57:41 tmp/foo.txt 210
Строка формата журнала:
%t: time
%f: file
%b: transfered bytes
Из rsyncd.conf (5):
«Формат журнала по умолчанию -«% o% h [% a]% m (% u)% f% l », а при использовании параметра« файл журнала »всегда ставится префикс«% t [% p] »»).
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
Я считаю, что это то, что вы хотите? Попробуйте использовать команду без параметра --log-format, прочтите страницу руководства для rsyncd.conf и найдите «формат журнала», чтобы узнать, какие параметры у вас есть для настройки файла журнала.
Другой вариант, который я часто использую в своих сценариях rsync, - это добавить дату до / после rsync, например:
date >> /var/log/rsync.log
rsync -avz --progress --delete /src /dst >> /var/log/rsync.log
date >> /var/log/rsync.log
И третий и последний вариант - поместить вашу команду rsync в цикл bash, чтобы префикс каждой строки датой.
Заменить >> /var/log/rsync.log replace
с участием --log-file=/var/log/rsync.log -q