2015-09-28 2 views
-1

Мне нужно делать резервные копии и удалять старые файлы журналов каждый месяц. Я удалю файлы старше 6 месяцев и файлы резервных копий старше 2 месяцев в виде zip-файла. Я пытаюсь написать сценарий, который будет автоматизировать и делать это каждый месяц вместо того, чтобы я делал это вручную каждый раз. У меня есть команды UNIX о том, как это сделать, но мне нужно поместить его в файл сценария, который будет запускаться автоматически в указанный день.Мне нужно написать сценарий автоматизации

ответ

1

Вы можете запланировать cronJob для ежедневного, которые запускает команду внутри сценария, такую ​​как

find foldername -mtime +120 -name "*.log" -exec gzip {} \; 

Выше позаботится о архивировании всех файлов старше 120 дней. Часть внутри кавычек после того, как имя может быть изменено согласно вашему требованию, а также +120.

find foldername -mtime +180 -name "*" -exec rm {} \; 

Выше будет удаляться весь файл внутри имени папки старше 180 дней.

Для части автоматизации вы можете посмотреть ссылку на wiki, указанную в ответе ниже. Хотя я тоже включу его в свой ответ.

Вы можете использовать кронтаб запланировать команды (https://en.wikipedia.org/wiki/Cron)

+0

Спасибо, это помогло. – James

+0

Если что-то полезно, мы говорим об этом на голосовых ответах на stackoverflow :) – Invictus

1

Вы можете использовать кронтаб запланировать команды (https://en.wikipedia.org/wiki/Cron)

Вы можете добавить запись набрав кронтаб -e и использовать его для планирования заданий, после добавления вашей команды Unix сценарий.

Например, если у вас есть файл /home/test/test.sh, вы можете запустить его каждый день, добавив ниже ваш кронтаб:

0 0 * * * /home/test/test.sh 
+0

Спасибо за информацию. – James

Смежные вопросы