Сегодня в статье разберем как можно передавать файлы и директории в несколько потоков при помощи команды Rsync.
Рассмотрим пример по копированию и передачи директорий и фалов в данных директориях.
Т.е. у нас имеются директория с вложениями как фалов, так и еще поддиректориями со своими файлами. Вот её – родительскую директорию, мы и будем передавать в несколько потоков, тем самым увеличивая скорость передачи по сети.
Приведу сразу готовый пример передачи в несколько потоков:
find -type d | xargs -I '{}' -P 5 -n1 rsync -a --delete /home/old/Foto/'{}'/ /home/old/CloudDisk/'{}'/Разберем данный пример:
find -type d- выводит имена всех директорий.
xargs -I '{}'- xargs запускает для каждого файла команду rsync
-P 5- количество одновременно запущенных команд (потоков rsync), то есть одновременно будут запущена передача 5-ти файлов. Каждый файл передается отдельно.