Мониторинг / Наблюдение за запущенным процессом rsync

22

У меня есть задание rsync, которое было добавлено в crontab, и когда оно работает, я могу только проверить наличие PID rsync и подтвердить с помощью htop, что оно потребляет n ресурсов ЦП и ОЗУ.

То, что я хотел бы сделать, это отслеживать, какие файлы на самом деле Rsync 'в режиме реального времени ... когда я хочу. К вашему сведению, я не передал в команду никаких подробных опций и не добавил некоторые записи. Я действительно просто хочу проверить, что происходит по требованию.

Есть идеи, как мне этого добиться?

vanz
источник

Ответы:

38

Ты можешь сделать:

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

Чтобы увидеть, что он делает, или

lsof -ad3-999 -c rsync

чтобы увидеть, какие файлы он в данный момент открыл.

Стефан Шазелас
источник
3

Самое простое решение - перенаправить вывод команды rsync в файл журнала.

rsync -avz /something /somwhere >> ~/rsynclog
Кирали Иштван
источник
1

Вот два способа

С экраном: прикрепить сеанс экрана к вашей работе cron:

screen rsync --progress src dst

это позволит вам повторно присоединиться к заданию rsync в любое время, когда вы захотите проверить, какие файлы в данный момент обрабатываются (просто убедитесь, что вы являетесь тем же пользователем, который запустил задание rsync) с

screen -x

С регистрацией добавьте регистрацию к вашей работе rsync:

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

затем следите за журналом в реальном времени:

 tail -f /tmp/rsync-status.txt
Tomodachi
источник
0

Другой способ - если вы знаете приблизительный каталог, который вы будете синхронизировать (например, мы будем использовать каталог 'movies'), вы можете использовать комбинацию lsof и grep:

лсоф | grep rsync | grep фильмы

lsof перечислит ваши открытые файлы, направит вывод в grep, чтобы найти все открытые rsync, направит вывод в grep, чтобы найти каталог / файл, который открыт.

Билл Рукард
источник
0

Как предположил Киран Иштван , я бегу

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

который дает вывод как

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

Из этого вывода я вижу, какой каталог копируется.

В случае, когда rsyncкопирование большого количества больших файлов происходит медленно, я наблюдаю за этим каталогом, используя watchвот так. Таким образом, я вижу временный файл, который rsyncсоздается, и вижу, как увеличивается размер копируемого файла.

watch -n1 "~/Music/iTunes"

Kirby
источник