Мне интересно, безопасно ли использовать несколько экземпляров rsync с одной и той же командной строкой для резервного копирования одного и того же каталога на локальном сервере в один и тот же каталог на удаленном сервере? В общем, если я запущу команду ниже 3-4 раза параллельно, это поможет ускорить процесс? Принимающий сервер использует rsyncd.
rsync -av /home/directory/ [email protected]::Home
решение1
Нет. Вы можете разбить его на несколько команд, исключая или специально включая каталоги, но выполнение одной и той же команды несколько раз приведет к беспорядку (особенно с временными файлами rsync).
решение2
Начиная с версии > 3.0.5 (возможно, и более ранних версий) можно использовать параметры --include, --exclude.
Взяв пример изздесьВы могли бы сделать что-то в этом роде:
Предположим, что directory_a
в нем имеется 2 000 000 файлов, а directory_b
также имеется 2 000 000 файлов, запуск двух отдельных процессов rsync ускорит всю процедуру за счет циклов ЦП.
rsync -av --include="/directory_a*" --exclude="/*" --progress remote::/ /localdir/ > /tmp/myoutputa.log &
rsync -av --include="/directory_b*" --exclude="/*" --progress remote::/ /localdir/ > /tmp/myoutputb.log &
Согласноисточниктакой подход ускоряет синхронизацию примерно на 50%
решение3
'Rsync' уже известен тем, что ускоряет преобразование путем передачи выборочной и требуемой части этого конкретного файла или каталога. Использование указанной вами команды 3-4 раза параллельно полностью зависит от того, сколько ресурсов было предоставлено для вашего аккаунта веб-хостинга, но одно можно сказать наверняка: на сервере будет создана большая нагрузка, поэтому я бы не советовал вам делать это.