У меня есть задание rsync, которое было добавлено в crontab, и когда оно работает, я могу только проверить наличие PID rsync и подтвердить с помощью htop, что оно потребляет n ресурсов ЦП и ОЗУ.
То, что я хотел бы сделать, это отслеживать, какие файлы на самом деле Rsync 'в режиме реального времени ... когда я хочу. К вашему сведению, я не передал в команду никаких подробных опций и не добавил некоторые записи. Я действительно просто хочу проверить, что происходит по требованию.
Есть идеи, как мне этого добиться?
Вы можете сделать:
strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')
, чтобы увидеть, что он делает, или
lsof -ad3-999 -c rsync
, чтобы посмотреть, какие файлы он в данный момент открыл.
Самое простое решение - перенаправить вывод команды rsync в лог-файл.
rsync -avz /something /somwhere >> ~/rsynclog
Как предложил Кирали Иштван , я бегу
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"
Другой способ, которым вы могли бы воспользоваться, если вы знаете приблизительный каталог, который вы будете синхронизировать (например, мы будем использовать каталог 'movies'), например, вы можете использовать комбинацию lsof и grep:
lsof | grep rsync | grep movies
blockquote>lsof выведет список ваших открытых файлов, направит выходные данные в grep, чтобы найти все открытые с помощью rsync, направит выходные данные в grep, чтобы найти открытый каталог / файл.
Вот два пути
С экраном: экранная сессия Присоединения к Вашему заданию крона:
экран rsync - прогрессирует src dst
это позволит Вам присоединению ре к rsync jobb каждый раз, когда Вы хотите проверить, какие файлы его в настоящее время обработка (просто убедиться быть тем же пользователем как тот, который запустил rsync задание) с
screen -x
С входом добавляют вход к Вашему rsync заданию:
rsync --log-file=/tmp/rsync-status.txt src dst
затем следуйте за журналом в режиме реального времени с:
tail -f /tmp/rsync-status.txt