Я предпочитаю помещать запланированные задачи в / etc / crontab, чтобы сразу увидеть, что запланировано запустить, независимо от того, от какого пользователя запускается задача.
Единственный недостаток в том, что формат не проверяется при сохранении, в отличие от crontab -e - поэтому случайный символ может спокойно разбить весь cron.
Есть ли способ проверить формат / etc / crontab до / после сохранения?
Ответы:
Единственный надежный способ, который я нашел, это проверить журнал.
cron
проверяет/etc/crontab
каждую минуту и регистрирует сообщение, указывающее, что оно перезагрузило его или обнаружило ошибку.Итак, после редактирования запустите это:
Или не ждать целую минуту, а только до следующей минуты + 5 секунд:
Пример вывода с ошибкой:
Хороший выход:
Это на Debian 8. В других системах cron может войти в другой файл.
(Я думал, что смогу избежать поиска правильного файла журнала, используя systemd
journalctl -u cron
, но это не показывало мне эти записи журнала, и фактически почему-то прекратило регистрировать события cron 2 дня назад по какой-то причине)источник
Другое более свежее решение - скрипт на python chkcrontab.
источник
Wicked крутые сценарии оболочки имеет сценарий оболочки, который проверяет файлы crontab.
Вы можете получить zip-архив, содержащий скрипт здесь
Скрипт называется verifycron
источник
Я нашел это крутое решение здесь: https://crontab.guru
Он не просто проверяет crontab, он прямо говорит вам, что и когда будет запускать crontab, и подскажет, где находятся ошибки.
источник
В Ubuntu кажется, что я могу просто запустить:
ПРИМЕЧАНИЕ: это побочный эффект запуска этого cronjob (спасибо @NZD)
Если файл недействителен, я выдам ошибку, например:
источник
* 4/0 * * /bin/myscript.sh
-4/0
неверно. но не пойман этим методом0
запрещенным? unix.stackexchange.com/questions/32027/…