cron и at не работают

1

На моем Mac (да, да, я знаю. Но моя коробка Linux работает) по какой-то причине cron а также at не хочу работать Они оба регистрируют, что задания были добавлены, без синтаксических ошибок или каких-либо проблем. Затем проходит время, и никто ничего не делает.

52 18 * * * username touch ~/webserver/AAAAA

Это должно было начаться в 6:52 вечера по тихоокеанскому времени, но этого не произошло. Зачем?

За at, Я сделал: at 6:48 pm < jobs где jobs похоже:

touch ~/webserver/AAAAA

И ничего не случилось. Мысли?

tekknolagi
источник

Ответы:

1

Вы смотрели в свой почтовый ящик с mail? Вы, вероятно, найдете сообщения об ошибках от cron там. Я обнаружил ожидаемую ошибку при установке cron собирается, прежде чем я создаю сценарий для его запуска. Одним из полезных элементов информации были настройки среды, которые часто имеют отношение к этим проблемам. Я получил информацию:

Message 1:
From jleffler@Isis.local  Thu Jan 12 20:16:01 2012
X-Original-To: jleffler
Delivered-To: jleffler@Isis.local
From: jleffler@Isis.local (Cron Daemon)
To: jleffler@Isis.local
Subject: Cron <jleffler@Isis> /bin/ksh /Users/jleffler/bin/Cron/minutely
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=jleffler>
X-Cron-Env: <USER=jleffler>
X-Cron-Env: <HOME=/Users/jleffler>
Date: Thu, 12 Jan 2012 20:16:00 -0800 (PST)

/Users/jleffler/bin/Cron/minutely[15]: exec: /work1/jleffler/bin/minutely: not found

Это из записи:

*        *       *       *       *       /bin/ksh /Users/jleffler/bin/Cron/minutely

Другая проблема, которую я вижу, это ваша командная строка:

52 18 * * * username touch ~/webserver/AAAAA

Что username команда? Это не то, что я нахожу на моем Mac (MacOS X 10.7.2). Это в /usr/bin или же /bin на твоей машине? Если нет, велики шансы, что его не найдут.

/Users/jleffler/bin/Cron/minutely скрипт на моей машине - это (символическая ссылка) скрипт, который читает профиль - я называю мой .cronfile - а затем выполняет команду /Users/jleffler/bin/minutelyвсе основано на базовом имени файла в Cron каталог. Это устанавливает мой PATH на что-то более полезное, чем системный PATH, предоставленный cron,

Jonathan Leffler
источник
О, это интересно! И почему-то мой cron manpage говорит поставить мое имя пользователя в этом поле. Спасибо за ответ! Как насчет at?
tekknolagi
Для формата crontab записи, попробуйте man 5 crontab,
Jonathan Leffler
@tekknolagi: для «в», я отмечаю, что man at включает в себя: ЗАМЕЧАНИЯ ПО РЕАЛИЗАЦИИ Обратите внимание, что at реализуется через демон launchd (8), периодически вызывающий atrun (8), который по умолчанию отключен. Смотрите atrun (8) для получения информации о включении atrun. Когда я попробовал свою систему, at поставил в очередь задание ОК, но задание не запустилось. Именно тогда я действительно прочитал справочную страницу! (Когда я сделал что man atrun сказал, мой ранее в очереди at запросы выполнялись на следующей минутной границе.)
Jonathan Leffler
Спасибо Джонатан Леффлер! кажется, вы также помогли мне в моем Perl-коде :)
tekknolagi
1

Моя ставка - в том, что путь для cron недостаточно инклюзивен, чтобы включать прикосновение - либо добавьте директиву пути к cron, либо используйте полный путь для прикосновения

Adrian Cornish
источник
Хорошо, только что попробовал с /Users/username/webserver/ вместо ~ путь, но это тоже не работает. Зачем?
tekknolagi
Так что не так? :(
tekknolagi
Не уверен насчет Mac, но у un9 есть файл /var/log/cron.log, который может содержать больше информации
Adrian Cornish
Файл не найден :(
tekknolagi
Извините - из идей - надеюсь, эксперт здесь может помочь
Adrian Cornish