Wie füge ich einen Zeitstempel und eine Dateiliste zum rsync-Protokoll hinzu?

10

Ich möchte dem Protokoll sowohl einen Zeitstempel als auch eine Dateiliste hinzufügen. Derzeit kann ich nur einen bekommen. Der folgende Befehl zum Verfolgen der aktualisierten Dateiliste fügt jedoch keinen Zeitstempel hinzu.

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

Der folgende Befehl kann dem Protokoll einen Zeitstempel hinzufügen, gibt jedoch nicht an, welche Dateien aktualisiert wurden.

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
quelle

Antworten:

8

Aus rsyncd.conf (5):
"Das Standardprotokollformat ist"% o% h [% a]% m (% u)% f% l ", und bei Verwendung wird immer ein"% t [% p] "vorangestellt der Parameter "Protokolldatei". "

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


Ich glaube das ist was du willst? Versuchen Sie Ihren Befehl ohne die Option --log-format, lesen Sie die Handbuchseite für rsyncd.conf und suchen Sie nach "log format", um festzustellen, welche Optionen Sie zum Anpassen der Protokolldatei benötigen.

Eine andere Option, die ich häufig in meinen rsync-Skripten verwende, ist das Hinzufügen eines Datums vor / nach dem rsync, wie z.

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

Eine dritte und letzte Option wäre, Ihren Befehl rsync in eine Bash-Schleife zu setzen, um jeder Zeile das Datum voranzustellen.

Mattias Ahnberg
quelle
9

Wenn Sie die Uhrzeit für jede Datei auf dem rsync-Client anzeigen möchten, müssen Sie --out-format verwenden:

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

Die Ausgabe sieht folgendermaßen aus:

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

Protokollformatzeichenfolge:

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

Ersetzen >> /var/log/rsync.log replacedurch--log-file=/var/log/rsync.log -q

VorschlaghammerPL
quelle