Você pode fazer:
strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')
Para ver o que está fazendo ou
lsof -ad3-999 -c rsync
para ver quais arquivos ele abriu atualmente.
Eu tenho um trabalho de rsync que foi adicionado a um crontab e quando ele está em execução, eu só posso verificar se há um PID rsync e confirmar com o htop que está consumindo uma quantidade de CPU e RAM.
O que eu gostaria de fazer é monitorar quais arquivos estão sendo rsynced em tempo real ... quando eu quiser. FYI Eu não passei nenhuma opção detalhada para o comando nem adicionei alguns logs. Eu realmente só quero verificar o que está sendo rsync'ed on demand.
Alguma ideia de como consegui isso?
Você pode fazer:
strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')
Para ver o que está fazendo ou
lsof -ad3-999 -c rsync
para ver quais arquivos ele abriu atualmente.
A solução mais simples seria redirecionar a saída do rsync para um arquivo de log.
rsync -avz /something /somwhere >> ~/rsynclog
Aqui estão duas maneiras
Com tela: Anexar sessão de tela ao seu trabalho cron:
tela rsync --progress src dst
isso permitirá que você se conecte novamente ao jobb rsync sempre que quiser verificar quais arquivos estão processando atualmente (apenas certifique-se de ser o mesmo usuário que iniciou o trabalho rsync) com
screen -x
Com registro adicione logging ao seu trabalho de rsync:
rsync --log-file=/tmp/rsync-status.txt src dst
siga o registro em tempo real com:
tail -f /tmp/rsync-status.txt
Outra maneira de fazer isso é se você conhece o diretório que está sincronizando (por exemplo, usaremos o diretório 'movies', por exemplo), você pode usar uma combinação de lsof e grep:
lsof | grep rsync | filmes do grep
lsof irá listar seus arquivos abertos, canalizar a saída para o grep para encontrar qualquer canal aberto pelo rsync, que seja enviado ao grep para encontrar o diretório / arquivo que está aberto.
Como Király István sugeriu, estou correndo
rsync -ravz /Users/jkirby/Music/iTunes/* .
que dá saída 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
A partir dessa saída, posso ver qual diretório está sendo copiado.
No caso em que rsync
está copiando muitos arquivos grandes lentamente, eu monitorei esse diretório usando watch
da mesma forma. Dessa forma, posso ver o arquivo temporário que rsync
cria e posso ver o tamanho crescendo no arquivo que está sendo copiado no momento.
watch -n1 "~/Music/iTunes"
Tags rsync