Назад | Перейти на главную страницу

Чтение расписания cron из сценария bash

Можно ли получить расписание работающего задания?

Если у меня есть эта строка в моем crontab * * * * * /home/test/test.sh

Могу я прочитать * * * * * из test.shи только для этого скрипта?

Я надеялся, что есть какая-то переменная, которую я смогу прочитать и получить текущее расписание.

Вы не можете получить эту информацию, так как crond не предоставляет ее выполняющемуся заданию.

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

cron_scedule='* * * * *'
* * * * * /home/test/test.sh
cron_schedule='1-59 * * * *' 
1-59 * * * * /home/test/test1-59.sh

Переменная окружения cron_scedule передается в среду сценариев для доступа сценария. Это, очевидно, становится немного запутанным и громоздким, чем больше у вас заданий / пользователей cron и т. Д.

Какую проблему вы пытаетесь решить?

crontab -l дает вам текущий crontab для пользователя. Вы могли бы проще вырезать нужные значения следующим образом: crontab -l | grep -v "#" | cut -d " " -f 1,2,3,4,5