Monitor / Guarda il processo rsync in esecuzione

17

Ho un lavoro rsync che è stato aggiunto a un crontab e quando è in esecuzione, posso solo controllare che ci sia un PID rsync e confermare con htop che sta consumando n quantità di CPU e RAM.

Quello che mi piacerebbe fare è monitorare quali file vengono effettivamente sincronizzati in tempo reale ... quando voglio. Per tua informazione non ho passato nessuna opzione dettagliata al comando né ho aggiunto qualche registrazione. Voglio solo verificare cosa viene rsync su richiesta.

Qualche idea su come potrei riuscirci?

    
posta vanz 24.07.2013 - 11:15

5 risposte

28

Puoi fare:

strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')

Per vedere cosa sta facendo, o

lsof -ad3-999 -c rsync

per vedere quali file è attualmente aperto.

    
risposta data Stéphane Chazelas 24.07.2013 - 11:22
2

La soluzione più semplice sarebbe il reindirizzamento dell'output di rsync a un file di log.

rsync -avz /something /somwhere >> ~/rsynclog
    
risposta data Király István 25.10.2015 - 18:59
0

Ecco due modi

Con schermo: Allega la sessione dello schermo al tuo cron job:

screen rsync --progress src dst

questo ti permetterà di collegarti a rsync jobb ogni volta che vuoi controllare quali file sono attualmente in elaborazione (assicurati di essere lo stesso utente di quello che ha lanciato il lavoro rsync) con

screen -x

Con registrazione aggiungi la registrazione al tuo lavoro rsync:

rsync --log-file=/tmp/rsync-status.txt  src dst

quindi segui il log in tempo reale con:

 tail -f /tmp/rsync-status.txt
    
risposta data tomodachi 24.07.2013 - 11:37
0

Un altro modo è possibile se si conosce la directory approssimativa che si sincronizzerà (ad esempio, utilizzeremo la directory "filmati", ad esempio), è possibile utilizzare una combinazione di lsof e grep:

  

lsof | grep rsync | grep movies

lsof elencherà i tuoi file aperti, canalizzerà l'output in grep per trovare qualsiasi open aperto da rsync, pipe che verranno inviati a grep per trovare la directory / file che è aperta.

    
risposta data Bill Rookard 25.05.2016 - 19:18
0

Poiché Király István suggerito, sto eseguendo

rsync -ravz /Users/jkirby/Music/iTunes/* .

che dà un output come

Jeffs-MBP-2:2016-08-15 jkirby$ rsync -ravz /Users/jkirby/Music/iTunes/* .
building file list ... done
Temp File 1.tmp
Temp File.tmp

Da quell'output posso vedere quale directory viene copiata.

Nel caso in cui rsync copi lentamente un sacco di file di grandi dimensioni, io controllo quella directory usando watch come tale. In questo modo posso vedere il file temporale creato da rsync e posso vedere la dimensione crescente sul file attualmente copiato.

watch -n1 "~/Music/iTunes"

    
risposta data Kirby 16.08.2016 - 07:23

Leggi altre domande sui tag