#shell #jenkins #cron
#оболочка #дженкинс #cron
Вопрос:
Это первый раз, когда я пытаюсь настроить cronjob на автоматическое выполнение обновлений в Jenkins. В настоящее время я уже выполнил следующее:
1. sudo crontab -e # opens the cron tab which will/should put the file in /var/spool/cron
2. @daily yum update # running the updates daily
Это устраняет проблему, но
- когда я пытаюсь это сделать,
sudo cd /var/spool/cron
я ничего не вижуcrontab
. Но когда я делаюsudo crontab -l
, это показывает мне@daily yum updates
- Как я могу записать содержимое
@daily yum updates
вcrontab
через скрипт (например, скрипт инициализации облака)?
Ответ №1:
Один из способов —
#write out current crontab
crontab -l > mycron
#echo new cron into cron file
echo "@daily yum updates" >> mycron
#install new cron file
crontab mycron
rm mycron
Комментарии:
1. После добавления этого и запуска нового дженкинса, когда я пытаюсь это сделать
sudo crontab -l
, он говоритno crontab for root
2. кроме того, почему вы делаете
rm mycron
?3. Какой пользователь выполняет эту команду? Он должен добавить вкладку crib для этого пользователя. Micron — это временный файл, используемый для загрузки записей в crontab, если вы сделаете man crontab, вы можете подготовить аргументы, которые он принимает, и, наконец, удалить его — хорошая практика
4. root, кроме того, могу ли я узнать, если я помещу команду в файл /etc /cron.d / patch, она будет автоматически вызвана как cronjob?
echo "0 3 * * * root yum -d 0 -y update > /dev/null 2>amp;1 amp;amp; shutdown -r 1" >> /etc/cron.d/patch
? Если да, должен ли я просто удалить предыдущий?