RSYNC è lento durante la copia dei file
L'operazione rsync
viene eseguita molto lentamente su un file system.
Causa: rsync
è un'operazione seriale, pertanto la copia di un file system di grandi dimensioni è lenta, soprattutto se nel processo sono inclusi snapshot.
Soluzione: utilizzare una delle seguenti alternative:
- GNU Parallel per eseguire
rsync
in parallelo. Ad esempio:time find /mnt/MyFileSystem -mindepth 1 -maxdepth 1 | parallel -P100 rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --exclude=.snapshot --ignore-errors --progress --log-file=$HOME/rsync/logs/test.log1 --quiet -e ssh {} root@10.0.3.6:/mnt/rsync_target
Per ulteriori informazioni, vedere GNU Parallel - GNU Project.
- Strumenti paralleli di storage dei file
Per ulteriori informazioni ed esempi, vedere Uso degli strumenti paralleli di storage di file.
- Il comando
find
con l'opzionexargs
. Ad esempio:find ${source_dir} -mindepth 1 -maxdepth 1 | xargs -P 24 -I {} rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --log-file=<logfile_path> -quiet -e ssh {} <destination_user>@<destination_instance>:<destination_dir>
Per ulteriori informazioni, vedere find(1)- Linux Man Page e xargs(1)- Linux Man Page.
- Se si utilizza
rsync
per copiare i file da un'area all'altra, vedere La copia dei file da un'area all'altra utilizzando RSYNC o FPSYNC è lenta.