LINUX.ORG.RU
решено ФорумAdmin

Добавление постоянных задний в cron через ansible

 


0

1

Я немного не допонял, модуль cron в ansible умеет добавлять задания в /etc/crontab чтобы они там остались навсегда, а не на один раз? Допустим мне нужно добавить туда @reboot /home/me/myscript.sh Чтобы при каждой перезагрузке это исполнялось, сейчас вариант из документашки ansible

# Creates an entry like "@reboot /home/me/myscript.sh"
- cron:
    name: "a job for reboot"
    special_time: reboot
    job: "/home/me/myscript.sh"

добавляет его на однократное выполнение, на первую перезагрузку, вроде как.

Или всё делать через lineinfile ?

   - lineinfile:
       path: /etc/crontab
       backup: yes
       insertafter: "HOME=/"
       line: '@reboot /home/me/myscript.sh'
       state: present

А завтра тебе захочется /home/memememe/super.sh, послезавтра /opt/puper.sh.

Как с этим справиться второе решение?

А в первом ты хорошее имя выбрал? Однозначное? Описывающее твою задачу? А если Ansible через пол года решит изменить способ хранения записей?

Хотя есть же ещё "/etc/cron.d/".

AlexVR ★★★★★
()

Чтобы при каждой перезагрузке это исполнялось

по твоему описанию это не cron-задача, а systemd-сервис

alpha ★★★★★
()

Это всего-ли пример, поэтому глупо придираться к именам файлов скриптов. Нужно чтобы при загрузке сервера, исполнялось несколько скриптов, которые запускаются этим самым «/home/me/myscript.sh» содержимое myscript.sh будет меняться по ситуации.

Это не постоянная задача, а только однократная в момент загрузки, дальше до следующей загрузки она не нужна, поэтому делать из этого сервис не вижу смысла. К тому же система старая, там ещё нету systemd. На мой взгляд @reboot в crontab - нормальный вариант, вопрос как это прописать на 50+ серверах. Изучая модули к ansible по факту выясняется что они делают немного не то что хотелось бы, вопрос и заключался в том чтобы подтвердить или опровергнуть мои сомнения насчет модуля «cron»

karasic
() автор топика

добавляет его на однократное выполнение, на первую перезагрузку, вроде как.

Из каких слов в документации ты сделал такой вывод?

deadNightTiger ★★★★★
()
Ответ на: комментарий от karasic

Какая система? Там где нет системды есть какой-нибудь другой .ды, который запускает всякие штуки при запуске системы и т.п.

hanharr
()
Ответ на: комментарий от deadNightTiger

Наивно ожидал фактического внесения изменений в /etc/crontab и не увидев появления там нужной строки сделал такой предварительный вывод. Но покопав инет увидел что crontab складывает ещё задания в /var/spool/cron Поэтому вопрос можно считать решенным. Таки первый вариант создает задание на постоянной основе, а не разово.

karasic
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.