Чому rsync створює для мене кілька процесів?


22

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

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

Коли я використовую pstree, я бачу, як крон розщепив три процеси

 ├─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

Чому три процеси? Чи можу я обмежитися лише одним?


Чому тебе хвилює? Чи викликає це якісь проблеми у роботі?
ЄЕАА

2
Так, впливають на мою роботу сервера, і вони використовують досить певний ресурс
Райан,

Відповіді:


24

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

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

Вихід генератора вводиться для відправника, а вихід відправника - вхід для приймача. Кожен процес працює незалежно і затримується лише тоді, коли конвеєри зупиняються або під час очікування ресурсів дискового вводу / виводу або процесора.

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


8
Ви не можете обмежити кількість процесів, але ви можете обмежити використовувану пропускну здатність. Я припускаю, що його машина забита під час читання та запису rsync на той самий диск / блок пристрою. Використання параметра "--bwlimit" може допомогти в цьому випадку.
JvO
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.