I am using the following cron statement to backup from one folder to another folder in the same machine:

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

When I use pstree, I see the cron forked three processes


And 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

Why are three processes? Can I limit to only one?

  • Why do you care? Is it causing any performance problems?
    – EEAA
    Oct 19, 2013 at 4:45
  • 2
    Yes, impact my server performance and they use quite some resource
    – Ryan
    Oct 19, 2013 at 4:48

1 Answer 1



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.

You are running a local rsync (source and destination are local filesystem) so all three processes will run there.
There is nothing you can do, this is by design.

  • 10
    You cannot limit the number of processes, but you can limit the bandwidth used. I assume his machine is flogged by rsync reading and writing to the same disk/block device. Using the '--bwlimit' option may help in this case.
    – JvO
    Oct 20, 2013 at 14:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.