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

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

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

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

22
задан 24 July 2013 в 13:15

5 ответов

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

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

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

lsof -ad3-999 -c rsync

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

0
ответ дан 24 July 2013 в 13:15

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

rsync -avz /something /somwhere >> ~/rsynclog
0
ответ дан 24 July 2013 в 13:15

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

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"

0
ответ дан 24 July 2013 в 13:15

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

lsof | grep rsync | grep movies

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

0
ответ дан 24 July 2013 в 13:15

Вот два пути

С экраном: экранная сессия Присоединения к Вашему заданию крона:

экран rsync - прогрессирует src dst

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

screen -x

С входом добавляют вход к Вашему rsync заданию:

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

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

 tail -f /tmp/rsync-status.txt
1
ответ дан 24 July 2013 в 13:15

Другие вопросы по тегам:

Похожие вопросы: