Есть ли какие-нибудь хорошие средства проверки синтаксиса crontab или инструменты ввода?

5169
Peter

Недавно пользователь в одной из наших систем (Linux Ubuntu, но любой * nix был бы таким же) имел файл crontab, в котором отсутствовал завершающий символ новой строки.

Обычно для файлов конфигурации * nix требуется завершающий символ новой строки, cron ничем не отличается. Однако при добавлении файла без перевода строки предупреждение не выводится, и команда никогда не выполняется.

Итак, два исправления идентифицируют себя.

  1. Запустите процесс cron для проверки этих файлов.
  2. Предоставьте более дружественный интерфейс для cron.

Во-вторых, о чем этот вопрос. Либо что-нибудь, чтобы проверить синтаксис перед входом в файл, либо начать весь процесс ввода, что в любом случае немного загадочно.

Для этого конкретного компьютера потребуется инструмент командной строки, поскольку он расположен в центре обработки данных, а среда X не установлена.

3
Частично проблема может заключаться в действительно древней версии cron, установленной на машине (Ubuntu) - Vixie cron с 1993 года. У моей Fedora есть версия 2007 года, в которой больше нет комментариев в руководстве по поводу отсутствия EOL, являющегося ошибкой (которую 1993 один делает). Peter 15 лет назад 0
Означает ли это, что вы также редактируете crontab как обычный файл, а не используете crontab -e? Я полагаю, у вас есть веская причина продолжать использовать действительно древнюю версию. Doug Harris 15 лет назад 2

4 ответа на вопрос

1
Pinochle

Я всегда обнаруживал, что раскраски синтаксиса vimбыло достаточно, чтобы сделать это для меня. Я не столкнулся с проблемой новой строки просто потому, что научил себя быть автоматным с ним, как вождение, поэтому вы получаете те ощущения, когда вы едете, думая о чем-то захватывающем, выходя из машины и удивляясь себе. «Как я сюда попал? Я совсем не помню поездку!» --- "Черт, откуда взялись все эти переводы строк?"

1
jpolache

I like the cron interface in webmin.

Выглядит хорошо. Благодарю. http://www.webmin.com/usermin.html Peter 15 лет назад 1
1
mlbx

Теперь есть CronSandbox .

Это «песочница», где безопасно изучать команды crontab. Введите значения времени, CronSandbox проверяет синтаксис и предоставляет будущие даты и время выполнения задания.

0
warren

Я изменил свой редактор по умолчанию на emacs, который спрашивает, хотите ли вы завершить буфер новой строкой при выходе :)

setenv EDITOR <editor> 

в вашем .bashrc (или соответствующем) должен справиться с этим решением :)

Чтобы ответить на вторую часть вашего вопроса, вы также можете просто удалить сценарии в cron.<period>каталогах в/etc

Да, я тоже. На самом деле, я думал, что этот пользователь тоже, поэтому я был удивлен, что у него пропущен перевод строки. Но так как есть несколько пользователей, я подумал, что, возможно, был текстовый инструмент, такой как графический гном, который кто-то предложил, но этот ответ, кажется, уже ушел. Благодарю. Peter 15 лет назад 0

Похожие вопросы