Un travail rsync a été ajouté à une crontab et, lorsqu’elle est en cours d’exécution, je ne peux que vérifier qu’il existe un PID rsync et confirmer avec htop qu’elle consomme une quantité importante de CPU et de RAM.
Ce que j'aimerais faire, c'est surveiller quels fichiers sont en train d'être synchronisés en temps réel ... quand je le veux. Pour info, je n’ai passé aucune option détaillée à la commande ni ajouté de journalisation. Je veux juste juste vérifier ce qui est en train d'être synchronisé sur demande.
Une idée de comment je pourrais y arriver?
Tu peux faire:
strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')
Pour voir ce qu'il fait, ou
lsof -ad3-999 -c rsync
pour voir quels fichiers il a ouvert.
La solution la plus simple serait de rediriger la sortie de rsync vers un fichier journal.
rsync -avz /something /somwhere >> ~/rsynclog
Si vous connaissez le répertoire approximatif que vous allez synchroniser (c’est-à-dire que nous utiliserons le répertoire 'movies' par exemple), vous pouvez également utiliser une combinaison de lsof et de grep:
lsof | grep rsync | films grep
lsof va lister vos fichiers ouverts, dirige la sortie vers grep pour trouver ceux ouverts par rsync, les pipes qui sortent vers grep pour trouver le répertoire/fichier ouvert.
Voici deux façons
With screen: Attachez une session screen à votre tâche cron:
écran rsync --progress src dst
cela vous permettra de vous connecter à la tâche rsync à tout moment si vous souhaitez vérifier les fichiers qu’elle traite actuellement (assurez-vous d’être le même utilisateur que celui qui a lancé la tâche rsync) avec
screen -x
avec journalisation ajouter la journalisation à votre travail rsync:
rsync --log-file=/tmp/rsync-status.txt src dst
puis suivez le journal en temps réel avec:
tail -f /tmp/rsync-status.txt
Comme Király István suggéré, je cours
rsync -ravz /Users/jkirby/Music/iTunes/* .
qui donne comme sortie
Jeffs-MBP-2:2016-08-15 jkirby$ rsync -ravz /Users/jkirby/Music/iTunes/* .
building file list ... done
Temp File 1.tmp
Temp File.tmp
À partir de cette sortie, je peux voir quel répertoire est copié.
Dans le cas où rsync
copie lentement de nombreux fichiers volumineux, je surveille ce répertoire à l’aide de watch
. De cette façon, je peux voir le fichier temporaire créé par rsync
et la taille de celui-ci augmenter sur le fichier en cours de copie.
watch -n1 "~/Music/iTunes"