Просто хотел знать, что если Rsync выполняет резервное копирование, а в моей работе cron наступает другое время сеанса rsync. Могут ли оба работать одновременно или первый должен быть завершен до второго запуска
Если они используют тот же источник и разные направления в структуре каталогов я бы не стал этого делать, если они оба не используют источник, который гарантированно не изменится (маловероятно). Вместо этого вы, вероятно, захотите использовать flock
чтобы в этом случае создать файл блокировки для процесса. Затем вы можете либо убить текущий и заменить его новым, либо остановить запуск нового. Вероятно, вам нужен второй вариант, иначе, если они не рассчитаны по времени, операция rsync может никогда не дойти до конца.
Если гарантировано, что источник не изменится, и это разные места назначения, это может быть даже хорошо, потому что может использовать преимущества файловых кешей.
Если они используют источники и разные места назначения, вы можете без проблем запускать их одновременно. Однако я бы внимательно посмотрел iostat
чтобы убедиться, что вы не перегружаете свой ввод-вывод.
Итак, вкратце, если ваша цель - синхронизировать два дерева каталогов:
--update
флаг.Вы можете решить некоторые проблемы состояния гонки, используя --update
флаг:
Это заставляет rsync пропускать любые файлы, которые существуют в месте назначения и имеют более новое время изменения, чем исходный файл.
Я думаю, что параметры удаления и изменение структуры каталогов могут еще больше усложнить их.
Если он работает в отдельных частях вашей файловой системы, я не вижу причин, по которым вы должны быть ограничены каким-либо образом.
Если вы выполняете несколько rsync в одной и той же части файловой системы (скажем, в одной папке), они могут мешать друг другу.