Comment ajouter l'horodatage et la liste des fichiers au journal rsync?

10

Je souhaite ajouter à la fois l'horodatage et la liste des fichiers au journal. Actuellement, je ne peux en obtenir qu'un. La commande suivante permet de suivre la liste des fichiers mis à jour mais n'ajoute pas d'horodatage.

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

La commande suivante peut ajouter un horodatage au journal, mais elle ne dit pas quels fichiers ont été mis à jour.

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
la source

Réponses:

8

Depuis rsyncd.conf (5):
"Le format de journal par défaut est"% o% h [% a]% m (% u)% f% l "et un"% t [% p] "est toujours préfixé lors de l'utilisation le paramètre "fichier journal". "

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


Je crois que c'est ce que tu veux? Essayez votre commande sans l'option --log-format, lisez la page de manuel de rsyncd.conf et recherchez «format de journal» pour voir quelles options vous avez pour personnaliser le fichier journal.

Une autre option que j'utilise souvent dans mes scripts rsync est d'ajouter la date avant / après la rsync, comme:

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

Et une troisième et dernière option serait de placer votre commande rsync dans une boucle bash pour préfixer chaque ligne avec la date.

Mattias Ahnberg
la source
9

Si vous voulez voir l'heure de chaque fichier sur le client rsync, vous devez utiliser --out-format:

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

la sortie ressemble à ceci:

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

Chaîne de format de journal:

%t: time
%f: file
%b: transfered bytes
guettli
la source
0

Remplacez >> /var/log/rsync.log replacepar--log-file=/var/log/rsync.log -q

SledgehammerPL
la source