Многопоточный Rsync | синхронизируем директории

Сегодня в статье разберем как можно передавать файлы и директории в несколько потоков при помощи команды Rsync.

Про многопоточность 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-ти файлов. Каждый файл передается отдельно.

Про опции Rsync я писал тут

Если есть вопросы, то пишем в комментариях.

Также можете помочь проекту, заранее всем СПАСИБО!!!

.

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 1 vote
Рейтинг статьи
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Inline Feedbacks
Просмотреть все комментарии