Стоит ли crontab на OSX El Capitan?
Вопрос. Предполагается ли cron
работать в OSX El Capitan?
Фон. Я использовал crontab в течение многих лет на OSX, но с El Capitan он, похоже, не работает. Я добавил свое имя пользователя в /usr/lib/cron/cron.allow
и даже перезагрузил машину, но все же мои задания cron ничего не делают, и они не отправляют мне сообщения с ошибками. Манипулирует, что Apple не хочет, чтобы люди использовали cron, но они не говорят, что они нефункциональны (пока).
Ответы
Ответ 1
Кажется, это работает для меня, но я думаю, вам нужно указать редактор:
env EDITOR=nano crontab -e
Добавьте свои коронки, а затем сохраните файл с указанием имени и местоположения. В моем случае это файл в /tmp/crontab.xxxx
.
Тогда, если вы делаете crontab -l
, вы должны увидеть свои коронки.
Ответ 2
Это еще один ответ для тех, кто находит это через Google. Результаты не так много.
Для меня как-то /usr/lib/cron
было связано с символом /var/at
(о котором я даже не слышал...), а /var/at
имел файл cron.allow
, в котором мое имя пользователя не было, поэтому запустите sudo vi /var/at/cron.allow
и добавление моего имени пользователя (каким-то образом перенаправление echo
в этот файл не сработало...) исправлено его.
Ответ 3
На MacBook, используя El Capitan (10.11.5), "cron" все еще работает отлично.
"/usr/lib/cron.deny" является значением по умолчанию (только список "Гость" ), и нет "cron.allow". Не помните, чтобы делать какие-либо настройки, чтобы заставить его работать (нет модов для init/config, нет chmod, нет файлов /dir создает/удаляет и т.д.).
(использовал 10.6. * до тех пор, пока MacBook не умер в апреле. Начал использовать 10.11 в середине мая, восстановил мой crontab после обновления 10.11.5 ( "в конце мая?" ). Поэтому не знаю, работает ли cron в 10.11, или повторно активирована обновлением 10.11.5.)
Попробуйте этот простой тест: "crontab -e", затем "*/5 * * * * date → /tmp/z.date". Должен видеть новую дату каждые пять минут.
Если это работает, попробуйте "*/5 * * * * env → /tmp/z.date.1" и проверьте свою среду. Например, PATH по умолчанию довольно короткий.
Btw, "at" - очередь пакетных заданий. "at", "batch" и "cron" часто группируются вместе, поскольку они выполняют вариации одной и той же вещи.
Ответ 4
cron полностью пропустит любые задания, пока машина спит. Попробуйте проверить настройки энергосбережения (см. Ниже).
launchd (рекомендованная Apple альтернатива) также не запускается, пока машина спит, но не пропускает задания. Вместо этого задания запускаются, когда машина пробуждается.
![Настройки экономии энергии]()
Ответ 5
По словам Apple, cron был устаревшим некоторое время назад. Должно быть, они наконец вытащили вилку в GM El Capitan. Apple предлагает использовать launchd вместо cron. Здесь учебник:
launchd