1

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

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

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

Для at , я сделал: at 6:48 pm < jobs где jobs выглядит следующим образом:

touch ~/webserver/AAAAA

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

2 ответа2

1

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

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 на моем компьютере представляет собой сценарий (символическая ссылка на a), который читает профиль - я называю мой .cronfile - и затем выполняет команду /Users/jleffler/bin/minutely , все на основе на базовое имя файла в каталоге Cron . Это устанавливает мой PATH на что-то более полезное, чем системный PATH, предоставляемый cron .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .