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

17

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

Что бы я хотел сделать, это следить за тем, какие файлы на самом деле rsync'ed в реальном времени ... когда захочу. FYI Я не передал какой-либо подробный вариант команды и не добавил некоторые записи. Я просто хочу проверить, что rsync'ed по запросу.

Любая идея, как я мог бы это достичь?

    
задан vanz 24.07.2013 в 11:15
источник

5 ответов

27

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

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

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

lsof -ad3-999 -c rsync

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

ответ дан Stéphane Chazelas 24.07.2013 в 11:22
источник
2

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

rsync -avz /something /somwhere >> ~/rsynclog
    
ответ дан Király István 25.10.2015 в 18:59
0

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

С экраном: Присоедините сеанс экрана к заданию 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 24.07.2013 в 11:37
0

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

  

lsof | grep rsync | grep фильмы

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

    
ответ дан Bill Rookard 25.05.2016 в 19:18
0

Как Király István предложил, я бегу

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 16.08.2016 в 07:23