Как написать командную строку (в jenkins), используя robocopy, чтобы сжать одну папку?
Как написать командную строку (в jenkins), используя robocopy, чтобы сжать одну папку? допустим, старше 2 месяцев.
У меня есть Дженкинс, работающий на Windows Server (VM), и установил 7zip.
Мне нужно, чтобы Дженкинс запустил robocopy для архивирования некоторых папок старше 2 месяцев.
1 ответ
Прежде всего robocopy
только для копирования файлов. Я предполагаю, что вы используете дистрибутив Linux. find . -mtime +60
при этом вы можете рекурсивно перечислить все файлы, включая подпапки, которые старше 2 месяцев. Или вы можете использовать find . -type d -mtime +60 -maxdepth=1
перечислить все каталоги только в текущем каталоге. использование -type f
для перечисления всех файлов.
Это перечислит все файлы и распечатки на консоли.
for i in `find . -type d -mtime +60 -maxdepth 1`; do echo $i; done
Для вас это сделает свое дело.
for i in `find . -type d -mtime +60 -maxdepth 1`; do zip -r $i.zip $i; done
В конфигурации работы есть шаг сборки Execute Shell
и скопируйте код и папки zip будут там. Надеюсь это поможет. Если есть сомнения, пожалуйста, прокомментируйте.