Написание cronjob с использованием скрипта

#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
  

Это устраняет проблему, но

  1. когда я пытаюсь это сделать, sudo cd /var/spool/cron я ничего не вижу crontab . Но когда я делаю sudo crontab -l , это показывает мне @daily yum updates
  2. Как я могу записать содержимое @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 ? Если да, должен ли я просто удалить предыдущий?