Не подскажете, есть у кого заметочка, на метод шустрого бекапа jenkins (используется встроенная БД)?
Суть в том, что есть много job в системе, и копирование занимает много времени. Часто приходиться устанавливать/обновлять модуля, в связи с чем jenkins бывает падает.
Алексей М.: Серебряной пули не нашли. Можно посмотреть в сторону btrfs.
В целом несколько разнообразных костылей, с остановкой сервиса и rsync работают. Но без перерыва в работе никак.
Konstantin Rudenkov: решил тоже костылем делать:) Правда не стал играться с остановкой сервиса, сделал батником, оно же "Выполнить команду Windows":
SET NLS_LANG=RUSSIAN_CIS.RU8PC866
set folder=E:\Jenkins\BACKUP\%date:~6,4%_%date:~3,2%_%date:~0,2%
if not exist %folder% md "E:\Jenkins\BACKUP\%date:~6,4%_%date:~3,2%_%date:~0,2%"
if exist %folder% del /f /q "E:\Jenkins\BACKUP\%date:~6,4%_%date:~3,2%_%date:~0,2%\*.*"
"C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx7 E:\Jenkins\BACKUP\%date:~6,4%_%date:~3,2%_%date:~0,2%\BACKUP.zip "C:\Program Files (x86)\Jenkins" >> E:\Jenkins\BACKUP\%date:~6,4%_%date:~3,2%_%date:~0,2%\LOG.txt
exit 0
А так можно прикрутить в начало и конец 2 строки:
net stop СЛУЖБА_JENKINS
echo Делаем бэкап
net start СЛУЖБА_JENKINS
Но я не проверял, запустится ли служба Jenkins корректно, если, например, сделать остановку, затем архивацию и запуск службы, не хочется рисковать, так как по выходным много чего выполняется на основном сервере Jenkins и узлах. То, что пакует не совсем корректно при запущенной службе тоже понимаю, появляются ошибки вроде:
WARNING: The system cannot find the file specified.
C:\Program Files (x86)\Jenkins\jobs\Stable\jobs\Divisions.Corp.Stable\builds\lastUnstableBuild
но результат устраивает.
Вам может пригодится, скрипт пакует через 7zip командной строкой намного быстрее, чем если бы я это делал руками. Архивирует периодически, раз в неделю по воскресеньям в 12, этого достаточно (0 12 * * 7). Если такая папка существует, то архив перезатираем. Вообще все команды по 7zip описаны в документации.