Как настроить задание cron в OS X для запуска команды curl в определенное время каждый день?


20

У меня есть команда CURL, которую я хочу запускать каждый день, скажем, в 3 часа ночи, но я не уверен, как это настроить, и руководства все странные.

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

Может ли задание cron разбудить мой компьютер, даже если он спит и крышка закрыта (macbook pro), просто для того, чтобы выполнить эту команду curl и затем снова перевести ее в спящий режим?

Как мне установить это так или иначе?

Ответы:


22

Начните с запуска команды:

crontab -e

Это откроет crontab для вашего пользователя в текстовом редакторе. Cron использует специальные обозначения для запланированных заданий. В приведенном ниже формате показаны поля для пользовательской записи в crontab (которые должны быть разделены вкладками).

min  hour  day_of_month  month  day_of_week  command

Чтобы запланировать выполнение команды curl на 3 часа ночи, вы можете вставить строку:

0  3  *  *  *  curl args...

Обратите внимание, что минуты и часы соответствуют 3 часам ночи (примечание: cron использует 24-часовой формат времени, без часов или вечера). Следующие звездочки означают каждый день месяца, каждый месяц, каждый день недели.

Cron не сможет разбудить ваш компьютер из сна, но вы можете найти этот пост полезным crontab, чтобы разбудить osx из сна


1
Когда я это crontab -eвижу, я вижу это в моем терминале:, $ crontab -e crontab: no changes made to crontabа затем он открывает мой текстовый редактор с файлом crontab.some-random-stringиз папки /tmp. Как только я отредактирую это и сохраню, в моем терминале ничего не происходит. Если я делаю crontab -l, работа, которую я только что вошел, не появляется. Затем, если я делаю crontab -eснова, он открывает еще один пробел crontab.some-random-string. Я также протестировал первый сохраненный файл crontab, установив время в 2 минуты с момента его сохранения, и cron никогда не запускался. Что может происходить?
marcamillion

Какой текстовый редактор открывается при запуске 'crontab -e'?
диаметральная

Мой по умолчанию один atom. Это то, что запускается, когда я открываю что-либо для редактирования в моем терминале. Это то , что у меня в ~/.bash_profile, export EDITOR='open -a "/Applications/Atom.app"'.
marcamillion

Хм, если вы запускаете atom из командной строки самостоятельно, ждет ли он выхода из atom, прежде чем запрашивать другую команду (если нет, вы можете попробовать другой текстовый редактор).
Адам Лученброерс

@AdamLuchjenbroers Я не уверен, что полностью понимаю ваш вопрос. Я использую атом для всего моего редактирования кода. Поэтому, если я хочу редактировать какой-либо файл, я просто делаю это atom .внутри каталога или atom <filepath>.
marcamillion

0

если вы хотите сделать это с помощью графического интерфейса, я могу порекомендовать вам CronniX из roaringapps https://roaringapps.com/app/cronnix


Спасибо за этот совет .... но я думаю, что я бы предпочел сделать это вручную в командной строке или с помощью текстового редактора, чтобы узнать :)
marcamillion
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.