Я хотел бы попробовать rsync в пакетном режиме со списком целевых хостов. Предполагается, что все целевые хосты находятся в состоянии X. Я бы пошел и создал командный файл для rsync для ссылочного хоста в этом списке и применил его к остальным хостам. Большой вопрос: что произойдет, если один из этих оставшихся хостов НЕ находится в том же состоянии, что и эталонный хост (что могло произойти, потому что он был вне цикла в последний раз, когда я синхронизировал все хосты). Сообщит ли мне rsync, что что-то случилось? Или он с радостью применит командный файл, создав мусор на несинхронизированном хосте? Есть опыт?
Из человек rsync
Параметр read-batch ожидает, что дерево назначения, которое он обновляет, будет идентично дереву назначения, которое использовалось для создания набора файлов пакетного обновления. Когда другой-
Между целевыми деревьями обнаружено, что обновление может быть отменено с предупреждением (если файл уже кажется актуальным) или может быть предпринята попытка обновления файла
а затем, если файл не удается проверить, обновление сбрасывается с ошибкой. Это означает, что можно безопасно повторно запустить операцию пакетного чтения, если команда была прервана. Если вы хотите, чтобы всегда выполнялись попытки пакетного обновления независимо от размера и даты файла, используйте параметр -I (при чтении пакета). В случае ошибки дерево назначения, вероятно, будет частично обновлено. В этом случае rsync можно использовать в обычном (не пакетном) режиме работы для исправления целевого дерева.