:%s/\r+//g
В Vim, который разделяет все возвраты каретки и оставляет только новые строки.
Существует плагин резервного копирования .
Я не верю, что он поддерживает планирование периодического резервного копирования, но вы можете запустить его, обратившись к нему через URL-адрес (как некоторые другие удаленные API-интерфейсы Hudson), и в этом случае вы можете просто настроить задание cron для проверки связи с URL-адресом.
Я бы управлял этим с помощью стандартного решения для резервного копирования корпоративного сервера.
Или откатываю свой собственный с чем-то вроде BackupPc.
Или проверьте файлы конфигурации в вашей системе контроля версий.
Мои серверы Hudson работают под управлением Windows, поэтому я использую для этого Robocopy. У меня есть зеркальные копии всех файлов в доме hudson каждого сервера сборки, за исключением каталогов рабочих областей. Поскольку резервные копии идут в центральное место, у меня есть запланированная задача на файловом сервере, который запускает мой скрипт каждую ночь, а серверы Hudson не знают об этом процессе.
В сценарии есть одна запись для каждой машины Hudson:
robocopy путь-к-buildserver-hudson-home путь-резервной-папке \ buildserver-name / ZB / E / NP / R: 1 / W: 5 "/ LOG:% ~ dp0backup_log.txt "/ TEE / XD workspace
Примечание: после первой машины она становится / LOG +: вместо / LOG: так, чтобы следующие добавлялись в журнал.
Это зеркальное отображение без удаления файлов, которых нет в исходном коде, поэтому даже если Hudson настроен на удаление результатов сборки после X месяцев или Y сборок, резервные копии могут иметь полную историю ... а также журналы для консоли и файла, и их можно возобновить, если они будут прерваны. Это удобно. Если вы не хотите, чтобы он сохранял файлы, удаленные Хадсоном, вы можете использовать / MIR вместо /E.
. Я уверен, что аналогичные инструменты для надежных копий или зеркалирования существуют на других платформах. Ant, вероятно, будет достаточно, если все сделано правильно.