Supervisar / ver el proceso rsync en ejecución

22

Tengo un trabajo rsync que se ha agregado a un crontab y cuando se está ejecutando, solo puedo verificar que haya un PID rsync y confirmar con htop que está consumiendo una cantidad de CPU y RAM.

Lo que me gustaría hacer es monitorear qué archivos se están sincronizando realmente en tiempo real ... cuando quiero. FYI No he pasado ninguna opción detallada al comando ni he agregado algún registro. Realmente solo quiero comprobar qué se está sincronizando bajo demanda.

¿Alguna idea de cómo podría lograr eso?

vanz
fuente

Respuestas:

38

Tu puedes hacer:

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

Para ver qué está haciendo, o

lsof -ad3-999 -c rsync

para ver qué archivos ha abierto actualmente.

Stéphane Chazelas
fuente
3

La solución más simple sería redirigir la salida de rsync a un archivo de registro.

rsync -avz /something /somwhere >> ~/rsynclog
Király István
fuente
1

Aquí hay dos maneras

Con pantalla: Adjunte sesión de pantalla a su trabajo cron:

screen rsync --progress src dst

esto le permitirá volver a adjuntarlo al trabajo rsyncb en cualquier momento que desee verificar qué archivos está procesando actualmente (solo asegúrese de ser el mismo usuario que el que inició el trabajo rsync) con

screen -x

Con el registro, agregue el registro a su trabajo rsync:

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

luego siga el registro en tiempo real con:

 tail -f /tmp/rsync-status.txt
tomodachi
fuente
0

Otra forma de hacerlo es que si conoce el directorio aproximado que sincronizará (es decir, usaremos el directorio 'películas' por ejemplo) puede usar una combinación de lsof y grep:

lsof | grep rsync | películas grep

lsof listará sus archivos abiertos, canalizará la salida a grep para encontrar los abiertos por rsync, canalizará la salida a grep para encontrar el directorio / archivo que está abierto.

Bill Rookard
fuente
0

Como sugirió Király István , estoy corriendo

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

que da salida como

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

De esa salida puedo ver qué directorio se está copiando.

En el caso de que rsyncesté copiando muchos archivos grandes lentamente, monitorizo ​​ese directorio usando watchasí. De esta manera puedo ver el archivo temporal que rsynccrea y puedo ver el tamaño que crece en el archivo que se está copiando actualmente.

watch -n1 "~/Music/iTunes"

Kirby
fuente