Como você monitora o progresso do DejaDup?

1

Eu tenho o aplicativo "Backup" DejaDup fazendo backup da minha pasta pessoal para um disco rígido USB externo criptografado, mas isso leva horas. O botão "backup agora" da GUI está acinzentado, indicando que está sendo executado, e o Gnome diz "iniciar o backup programado". No entanto, não tenho ideia de quanto tempo deve demorar. Existe alguma maneira de obter informações sobre o progresso do DejaDup?

Top mostra que o processo de duplicidade está sendo executado com a opção --log-fd=16 . A página de manuseio da duplicidade indica que esse é o descritor de arquivo do arquivo de log ao qual ele grava as atualizações de status. No entanto, se eu executar tail -f 16 , recebo o erro tail: no files remaining . Como faço para ler este descritor de arquivo de log?

    
por Cerin 06.11.2016 / 20:05

2 respostas

2

Eu acho que você pode monitorar assim:

usando ps, obtenha o PID e o log fd, por exemplo

$ ps aux | grep duplicity
username  12345 97.2  4.9 878235 345123 ?       Rsl  02:21  15:02 python2 /usr/bin/duplicity --exclude=/run/media/..... --tempdir=/home/username/.cache/deja-dup/tmp --log-fd=18

O PID é 12345 e o descritor de arquivo é 18.

Em seguida, vá para /proc/PID/fd (/proc/12345/fd) e, em vez de tentar localizar o descritor de arquivo 18, use cat ou grep.

$ cat 18

Isso mostra muita informação para mim. 90% são minhas exclude globs.

$ grep "examining path" 18

funciona bem para ver qual arquivo está sendo examinado. Se você observar a saída, também poderá focar quando encontrar arquivos compatíveis (e não precisar fazer o backup) ou quando forem diferentes.

    
por Richard Schwarting 05.09.2017 / 08:43
1

Com base na solução fornecida pelo @RichardSchwarting, criei o seguinte comando que verifica se o processo está em execução e o gato em /proc/x/fd/y :

pid=$(pgrep -n duplicity); if [ $pid ]; then fd=$( ps -o cmd --no-headers $pid | sed -E 's/.+(log-fd=[0-9]+).?//' | cut -f2 -d =); if [ $fd ]; then cat /proc/$pid/fd/$fd; else echo "fd not found"; fi else echo "pid not found"; fi
    
por Clauds 29.11.2017 / 02:32