Как написать командную строку (в 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 будут там. Надеюсь это поможет. Если есть сомнения, пожалуйста, прокомментируйте.

Другие вопросы по тегам