Por que o rsync gera vários processos para mim?

15

Estou usando a seguinte instrução cron para fazer backup de uma pasta para outra na mesma máquina:

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

Quando eu uso pstree , vejo o cron bifurcando três processos

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

e 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

Por que são três processos? Posso limitar a apenas um?

    
por Ryan 19.10.2013 / 06:44

1 resposta

18

link

Rsync is heavily pipelined. This means that it is a set of processes that communicate in a (largely) unidirectional way. Once the file list has been shared the pipeline behaves like this:
generator → sender → receiver

The output of the generator is input for the sender and the output of the sender is input for the receiver. Each process runs independently and is delayed only when the pipelines stall or when waiting for disk I/O or CPU resources.

Você está executando um rsync local (a origem e o destino são sistemas de arquivos locais) para que todos os três processos sejam executados lá. Não há nada que você possa fazer, isso é por design.

    
por 19.10.2013 / 11:09

Tags