Як налаштувати завдання cron на OS X для виконання команди curl у визначений час щодня?


20

У мене є команда CURL, яку я хочу запускати кожен день о 3:00, але я не впевнений у тому, як це налаштувати, і керівництво все дивно.

Припустимо, у мене багато досвіду терміналів / баш, але я ніколи раніше не встановлював крон.

Чи можна, щоб робота з крон розбудила мій комп’ютер, навіть якщо він спить і кришка закрита (macbook pro), просто виконати цю одну команду curl, а потім повернути її спати?

Як це налаштувати в будь-якому випадку?

Відповіді:


22

Почніть з запуску команди:

crontab -e

Це відкриє crontab для вашого користувача в текстовому редакторі. Cron використовує специфічне позначення для запланованих завдань. Формат, наведений нижче, показує поля для запису користувача на кроні, які потрібно розділити вкладками.

min  hour  day_of_month  month  day_of_week  command

Щоб запланувати команду curl, яку потрібно виконувати о 3 ранку щодня, ви можете вставити рядок:

0  3  *  *  *  curl args...

Зверніть увагу, як хвилини та година відповідають 3 ранку (бічна примітка: cron використовує цілодобовий формат часу, немає ранку та вечора). Зірочки, які слідують, означають кожен день місяця, кожен місяць, кожен день тижня.

Cron не зможе розбудити ваш комп’ютер від сну, але вам може здатися, що цей пост стане корисним crontab, щоб розбудити ОСХ зі сну


1
Коли я це crontab -eбачу, я бачу це в своєму терміналі:, $ crontab -e crontab: no changes made to crontabа потім він відкриває мій текстовий редактор з файлом crontab.some-random-stringіз папки /tmp. Щойно я редагую це і зберігаю, у моєму терміналі нічого не відбувається. Якщо я виконую crontab -l, робота, яку я щойно вступив, не з’являється. Потім, якщо я crontab -eзнову, це відкриє ще один бланк crontab.some-random-string. Я також перевірив перший вкладений кронтабом, встановивши час на 2 хвилини з моменту, коли я його врятував, і крон ніколи не запускався. Що може статися?
маркальйон

Який текстовий редактор відкривається під час запуску "crontab -e"?
diametralpitch

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

Хм, якщо ви запускаєте атом з командного рядка самостійно, чи чекає він, коли атом вийде, перш ніж запропонувати іншу команду (якщо ні, ви можете спробувати інший текстовий редактор).
Адам Luchjenbroers

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

0

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


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