Назад | Перейти на главную страницу

Почему rsync порождает для меня несколько процессов?

Я использую следующий оператор cron для резервного копирования из одной папки в другую папку на том же компьютере:

19 21 * * * root  rsync -ac --delete /source/folder /dest/folder

Когда я использую pstree, Я вижу, что cron разветвил три процесса

 ├─cron───cron───rsync───rsync───rsync

И ps

 9972 ?        Ds     1:00 rsync -ac --delete /source/folder /dest/folder
 9973 ?        S      0:29 rsync -ac --delete /source/folder /dest/folder
 9974 ?        S      0:09 rsync -ac --delete /source/folder /dest/folder

Почему три процесса? Могу ли я ограничиться только одним?

http://rsync.samba.org/how-rsync-works.html

Rsync сильно конвейерен. Это означает, что это набор процессов, которые взаимодействуют (в основном) однонаправленным образом. После того, как список файлов был опубликован, конвейер ведет себя следующим образом:
генератор → отправитель → получатель

Выходной сигнал генератора является входом для отправителя, а выходной сигнал отправителя является входом для получателя. Каждый процесс выполняется независимо и задерживается только при остановке конвейеров, ожидании дискового ввода-вывода или ресурсов ЦП.

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