is it safe to running multiple instances of rsync together

No. You can break it up into multiple commands, excluding or specifically including directories, but running the same command several times will result in a mess (especially with the rsync temp files).


From version > 3.0.5 (maybe previous versions) you can use the --include, --exclude parameters.

Taken the example from here you could do something along these lines:

Assuming that directory_a has 2,000,000 files underneath it. and directory_b also has 2,000,000 files, running 2 separate rsync processes speed up the whole procedure in expense of CPU cycles.

rsync -av --include="/directory_a*" --exclude="/*" --progress remote::/ /localdir/ >  /tmp/myoutputa.log &
rsync -av --include="/directory_b*" --exclude="/*" --progress remote::/ /localdir/ >  /tmp/myoutputb.log &

According to the source this approach speeds up syncing by ~ 50%