Monitor / Assista executando o processo de rsync

17

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?

    
por vanz 24.07.2013 / 11:15

5 respostas

27

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.

    
por Stéphane Chazelas 24.07.2013 / 11:22
2

A solução mais simples seria redirecionar a saída do rsync para um arquivo de log.

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

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
    
por tomodachi 24.07.2013 / 11:37
0

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.

    
por Bill Rookard 25.05.2016 / 19:18
0

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"

    
por Kirby 16.08.2016 / 07:23

Tags