легко включить или отключить cron

легко включить или отключить cron

Всякий раз, когда мне нужно включить cron, я копирую cron-файл в папку спула.

cp /home/shantanu/shantanu /var/spool/cron/
chown shantanu:root /var/spool/cron/shantanu 

Будет ли это работать? С какими проблемами я могу столкнуться?

обновление: использование CentOS

решение1

Официальный способ отключить некоторые задания cron для конкретного пользователя — ввести crontab -e -u <user>и поставить #в начале символ «a», чтобы закомментировать.


ОБНОВЛЯТЬ

Потому что cron-файл будет частью скрипта оболочки.

Попробуй это:

crontab -l -u shantanuo > shantanuo.cron
sed -i 's/^/#/' shantanuo.cron
crontab shantanuo.cron
rm -f shantanuo.cron

решение2

Этоможетработа.Но..

Как сказали предыдущие постеры: Не делайте этого. Используйте crontab -e. Прямое редактирование файлов может работать, но это ненадежная практика. Ваши вещи могут сломаться в любой момент при обновлении задействованных компонентов. Кроме того, это не очень переносимо, другие системы могут хранить файлы в другом месте. Это как реализовать "printf" самостоятельно вместо использования стандартного iolib.

Так что не делайте этого таким образом.

правка: А если вам нужно сгенерировать crontab с помощью скрипта оболочки, то просто передайте свои данные в crontab(он даже знает псевдофайл '-'! Прочитайте страницу руководства).

решение3

Почему бы просто не использовать команду crontab -eили, если вы вошли в систему как root, crontab -e -u shantanu?

решение4

Если вы хотите приостановить выполнение заданий без необходимости перезапускать cron (что может повлиять на выполнение заданий, например, каждые 3 минуты), вы можете использовать файлы блокировки, которые легко создаются или удаляются в скрипте.

*/3 0 * * * [ ! -f /tmp/job.lock ] && /path/to/job

Итак, чтобы приостановить работу, используйте:

touch /tmp/job.lock

Перезапустите планирование в cron:

rm /tmp/job.lock

Прелесть этого в том, что вы можете использовать разные файлы блокировки для разных заданий (или групп заданий, если все они используют один и тот же файл блокировки), не беспокоясь о прерывании планирования или поломке cron из-за ошибок при редактировании (с помощью скрипта или вручную) crontab.

Связанный контент