Мои серверы Hudson работают на Windows, поэтому я использую Robocopy для этого. У меня есть зеркальное отображение всех файлов в доме Хадсона каждого сервера сборки, за исключением каталогов рабочей области задания. Поскольку резервные копии собираются в центральном месте, у меня есть запланированное задание на файловом сервере, который запускает мой сценарий каждый вечер, и серверы Hudson не знают о процессе.
Скрипт имеет одну запись на машину Хадсона:
robocopy path-to-buildserver-hudson-home backup-path-folder-path \ buildserver-name / ZB / E / NP / R: 1 / W: 5 "/LOG:%~dp0backup_log.txt" / TEE / XD Рабочая область
Примечание: после первой машины она становится / LOG +: вместо / LOG: так, чтобы следующие записи добавлялись в журнал.
Это зеркальное отображение без удаления файлов, которые не существуют в исходном коде, поэтому даже если Hudson настроен на удаление результатов сборки после X месяцев или сборок Y, резервные копии могут иметь полную историю ..., а также журналы на консоли и файл, и возобновляется, если он прерывается. Это удобно Если вы не хотите, чтобы он сохранял файлы, которые Хадсон удалил, вы можете использовать / MIR вместо /E.
Я уверен, что аналогичные инструменты для надежного копирования или зеркалирования существуют на других платформах. Муравья, вероятно, достаточно, если все сделано правильно.