Есть ли программа для crontab? - PullRequest
6 голосов
/ 26 января 2009

Есть ли что-нибудь вроде lint для crontab? Я хотел бы знать, что у меня есть все мои места и звезды разобрались, не дожидаясь, пока что-то не сработает.

Ответы [ 5 ]

9 голосов
/ 04 октября 2010

Я нашел CronWTF , который невероятно полезен при написании crontabs - он переводит ваши звезды и команды в нечто более удобное для человека, чтобы облегчить чтение странных заданий cron.

Еще лучше, потому что это весь javascript, вы можете запускать его локально, и никто не должен знать о ваших лучших заданиях sekrit cron.

Другая альтернатива, если вы кодируете ruby, - это использовать всякий раз, когда gem - вы используете образец файла ruby ​​с именем schedule.rb для разбора и генерируете crontabs из следующего:

every 10.minutes do
  command "/usr/bin/my_great_command" 
end

Даст вам запись crontab

0,10,20,30,40,50 * * * * /usr/bin/my_great_command

А вот этот:

every 2.days, :at => '4:30am' do
  command "/usr/bin/my_great_command" 
end

Даст вам:

30 4 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 * * /usr/bin/my_great_command
7 голосов
/ 06 ноября 2014

Есть питон линтер для крон. См проект CheckCrontab

6 голосов
/ 26 января 2009

Не думаю, что вам нужен пух для crontab. Есть 5 полей, разделенных пробелом, затем пробел, затем команда для запуска и ее аргументы заканчиваются строкой.

Кроме того, по крайней мере в Ubuntu, crontab не позволит вам сохранить файл Bum. Я просто попробовал несколько вещей, и это натолкнуло на них всех. Я предполагаю, что это означает, что crontab - это свой собственный «линк для cron».

2 голосов
/ 30 мая 2018

Я не уверен, что это именно то, что вы ищете, но это действительно облегчает написание crontabs, показывая вам точно, что вы устанавливаете расписание:

https://crontab.guru/

1 голос
/ 26 января 2009

Это может быть немного не так, но простым способом было бы просто загрузить его с помощью графического редактора crontab, такого как kcron или gcrontab. Если вам нужно вызвать его в скрипте, этот вопрос о том, как это сделать в php.

...