В Ubuntu 11.10 (Oneiric Ocelot) мое задание cron работает нормально, если я использую значение по умолчанию
* * * * *
Но если я хочу, чтобы он работал в 17 часов или любой в другой раз он никогда не запускается. Мои настройки:
00 17 * * * wget http://www.abc.com/a.php
Я также попытался:
00 17 * * * root wget http://www.abc.com/a.php
Я также попытался указать путь. Существует возврат каретки, и я зарегистрирован как root
. Вот мой полный crontab:
TZ=Australia/Sydney
22 7 * * * /usr/bin/wget http://www.abc.com/a.php
22 7 * * * /bin/date >> /tmp/date.txt
---- the out is as follss:
root@Scrunch:~# sudo crontab -l -u root
55 12 * * * date >>/tmp/crontest.txt
root@Scrunch:~#
Почему терминал выводит столько пустых строк после вывода записей crontab? вы подозреваете, что вам не нужны лишние линии каретки .... И я не ввел никаких записей в любые другие cron-пространства, такие как .d, / daily eyc.,
, если ваше задание задания cron недействительно, оно будет зарегистрировано в /var/log/syslog
. Обычно я делаю задание cron для запуска через 2 минуты, затем tail -f /var/log/syslog
и убедитесь, что все работает как ожидалось.
Если в /var/log/syslog
нет ошибок, но команда не выполнена для запуска (или даже его успеха), cron отправит вам по электронной почте консольный вывод из командной строки. Если вы не получаете эти электронные письма (вы можете посмотреть в /var/spool/mail/root
), то что-то еще происходит не так. Я замечаю, что вы не используете ключ -Q для wget, поэтому вы должны получать электронную почту каждый раз, когда она запускается.
Наконец, 6-е поле (где вы вставляете root в свой третий пример) действителен только в системном файле crontab (/etc/crontab
или в любом из каталогов фрагментов /etc/cron.{d,hourly,daily,weekly,monthly}
. Он недопустим для crontab пользователя (который, кажется, используется вами) .
Я сделал следующее, чтобы подтвердить, что все работает правильно в принципе, вы можете следовать этой процедуре, чтобы хотя бы убедиться, что мы делаем то же самое:
sudo -i
). Это потому, что вы говорите, что хотите сделать это как root. crontab -e
. Вы будете помещены в редактор для редактирования crontab файл. 05 10 * * * date >>/tmp/crontest.txt
crontab -l
May 30 10:05:01 snowflake CRON[4170]: (root) CMD (date >>/tmp/crontest.txt)
Наконец, подтвердите, что /tmp/crontest.txt
был создан и содержит запланированное время / дату.
Cron уже много лет работает в Unix / Linux, он проверен и надежен, поэтому то, что вы испытываете, не является ошибкой, и вы, кажется, делаете все правильно, поэтому должно быть чем-то другим, что влияет на его функционирование правильно. Надеюсь, мы сможем определить, что это такое с некоторыми диагностическими процедурами:)
Используйте только один ноль в течение минуты. Как правило, это хорошая идея при создании заданий cron для использования полного пути команды, которую вы используете. Это связано с тем, что задания cron запускаются в специальной очень ограниченной среде оболочки, и ваш путь может отличаться от того, что вы используете при входе в систему. Если вы этого не знаете, вы можете легко найти его с помощью команды:
which wget
Другое дело, последняя команда root wget http://www.abc.com/a.php
неверна. root
не является допустимой командой. Я предполагаю, что вы хотели использовать sudo. Это было бы лишним, если вы выполняете задание cron как root, т. Е.
sudo crontab -e
Используйте только один ноль в течение минуты. Как правило, это хорошая идея при создании заданий cron для использования полного пути команды, которую вы используете. Это связано с тем, что задания cron запускаются в специальной очень ограниченной среде оболочки, и ваш путь может отличаться от того, что вы используете при входе в систему. Если вы этого не знаете, вы можете легко найти его с помощью команды:
which wget
Другое дело, последняя команда root wget http://www.abc.com/a.php
неверна. root
не является допустимой командой. Я предполагаю, что вы хотели использовать sudo. Это было бы лишним, если вы выполняете задание cron как root, т. Е.
sudo crontab -e
, если ваше задание задания cron недействительно, оно будет зарегистрировано в /var/log/syslog
. Обычно я делаю задание cron для запуска через 2 минуты, затем tail -f /var/log/syslog
и убедитесь, что все работает как ожидалось.
Если в /var/log/syslog
нет ошибок, но команда не выполнена для запуска (или даже его успеха), cron отправит вам по электронной почте консольный вывод из командной строки. Если вы не получаете эти электронные письма (вы можете посмотреть в /var/spool/mail/root
), то что-то еще происходит не так. Я замечаю, что вы не используете ключ -Q для wget, поэтому вы должны получать электронную почту каждый раз, когда она запускается.
Наконец, 6-е поле (где вы вставляете root в свой третий пример) действителен только в системном файле crontab (/etc/crontab
или в любом из каталогов фрагментов /etc/cron.{d,hourly,daily,weekly,monthly}
. Он недопустим для crontab пользователя (который, кажется, используется вами) .
Я сделал следующее, чтобы подтвердить, что все работает правильно в принципе, вы можете следовать этой процедуре, чтобы хотя бы убедиться, что мы делаем то же самое:
sudo -i
). Это потому, что вы говорите, что хотите сделать это как root. crontab -e
. Вы будете помещены в редактор для редактирования crontab файл. 05 10 * * * date >>/tmp/crontest.txt
crontab -l
May 30 10:05:01 snowflake CRON[4170]: (root) CMD (date >>/tmp/crontest.txt)
Наконец, подтвердите, что /tmp/crontest.txt
был создан и содержит запланированное время / дату.
Cron уже много лет работает в Unix / Linux, он проверен и надежен, поэтому то, что вы испытываете, не является ошибкой, и вы, кажется, делаете все правильно, поэтому должно быть чем-то другим, что влияет на его функционирование правильно. Надеюсь, мы сможем определить, что это такое с некоторыми диагностическими процедурами:)
, если ваше задание задания cron недействительно, оно будет зарегистрировано в /var/log/syslog
. Обычно я делаю задание cron для запуска через 2 минуты, затем tail -f /var/log/syslog
и убедитесь, что все работает как ожидалось.
Если в /var/log/syslog
нет ошибок, но команда не выполнена для запуска (или даже его успеха), cron отправит вам по электронной почте консольный вывод из командной строки. Если вы не получаете эти электронные письма (вы можете посмотреть в /var/spool/mail/root
), то что-то еще происходит не так. Я замечаю, что вы не используете ключ -Q для wget, поэтому вы должны получать электронную почту каждый раз, когда она запускается.
Наконец, 6-е поле (где вы вставляете root в свой третий пример) действителен только в системном файле crontab (/etc/crontab
или в любом из каталогов фрагментов /etc/cron.{d,hourly,daily,weekly,monthly}
. Он недопустим для crontab пользователя (который, кажется, используется вами) .
Я сделал следующее, чтобы подтвердить, что все работает правильно в принципе, вы можете следовать этой процедуре, чтобы хотя бы убедиться, что мы делаем то же самое:
sudo -i
). Это потому, что вы говорите, что хотите сделать это как root. crontab -e
. Вы будете помещены в редактор для редактирования crontab файл. 05 10 * * * date >>/tmp/crontest.txt
crontab -l
May 30 10:05:01 snowflake CRON[4170]: (root) CMD (date >>/tmp/crontest.txt)
Наконец, подтвердите, что /tmp/crontest.txt
был создан и содержит запланированное время / дату.
Cron уже много лет работает в Unix / Linux, он проверен и надежен, поэтому то, что вы испытываете, не является ошибкой, и вы, кажется, делаете все правильно, поэтому должно быть чем-то другим, что влияет на его функционирование правильно. Надеюсь, мы сможем определить, что это такое с некоторыми диагностическими процедурами:)
Используйте только один ноль в течение минуты. Как правило, это хорошая идея при создании заданий cron для использования полного пути команды, которую вы используете. Это связано с тем, что задания cron запускаются в специальной очень ограниченной среде оболочки, и ваш путь может отличаться от того, что вы используете при входе в систему. Если вы этого не знаете, вы можете легко найти его с помощью команды:
which wget
Другое дело, последняя команда root wget http://www.abc.com/a.php
неверна. root
не является допустимой командой. Я предполагаю, что вы хотели использовать sudo. Это было бы лишним, если вы выполняете задание cron как root, т. Е.
sudo crontab -e
Используйте только один ноль в течение минуты. Как правило, это хорошая идея при создании заданий cron для использования полного пути команды, которую вы используете. Это связано с тем, что задания cron запускаются в специальной очень ограниченной среде оболочки, и ваш путь может отличаться от того, что вы используете при входе в систему. Если вы этого не знаете, вы можете легко найти его с помощью команды:
which wget
Другое дело, последняя команда root wget http://www.abc.com/a.php
неверна. root
не является допустимой командой. Я предполагаю, что вы хотели использовать sudo. Это было бы лишним, если вы выполняете задание cron как root, т. Е.
sudo crontab -e
, если ваше задание задания cron недействительно, оно будет зарегистрировано в /var/log/syslog
. Обычно я делаю задание cron для запуска через 2 минуты, затем tail -f /var/log/syslog
и убедитесь, что все работает как ожидалось.
Если в /var/log/syslog
нет ошибок, но команда не выполнена для запуска (или даже его успеха), cron отправит вам по электронной почте консольный вывод из командной строки. Если вы не получаете эти электронные письма (вы можете посмотреть в /var/spool/mail/root
), то что-то еще происходит не так. Я замечаю, что вы не используете ключ -Q для wget, поэтому вы должны получать электронную почту каждый раз, когда она запускается.
Наконец, 6-е поле (где вы вставляете root в свой третий пример) действителен только в системном файле crontab (/etc/crontab
или в любом из каталогов фрагментов /etc/cron.{d,hourly,daily,weekly,monthly}
. Он недопустим для crontab пользователя (который, кажется, используется вами) .
Я сделал следующее, чтобы подтвердить, что все работает правильно в принципе, вы можете следовать этой процедуре, чтобы хотя бы убедиться, что мы делаем то же самое:
sudo -i
). Это потому, что вы говорите, что хотите сделать это как root. crontab -e
. Вы будете помещены в редактор для редактирования crontab файл. 05 10 * * * date >>/tmp/crontest.txt
crontab -l
May 30 10:05:01 snowflake CRON[4170]: (root) CMD (date >>/tmp/crontest.txt)
Наконец, подтвердите, что /tmp/crontest.txt
был создан и содержит запланированное время / дату.
Cron уже много лет работает в Unix / Linux, он проверен и надежен, поэтому то, что вы испытываете, не является ошибкой, и вы, кажется, делаете все правильно, поэтому должно быть чем-то другим, что влияет на его функционирование правильно. Надеюсь, мы сможем определить, что это такое с некоторыми диагностическими процедурами:)
, если ваше задание задания cron недействительно, оно будет зарегистрировано в /var/log/syslog
. Обычно я делаю задание cron для запуска через 2 минуты, затем tail -f /var/log/syslog
и убедитесь, что все работает как ожидалось.
Если в /var/log/syslog
нет ошибок, но команда не выполнена для запуска (или даже его успеха), cron отправит вам по электронной почте консольный вывод из командной строки. Если вы не получаете эти электронные письма (вы можете посмотреть в /var/spool/mail/root
), то что-то еще происходит не так. Я замечаю, что вы не используете ключ -Q для wget, поэтому вы должны получать электронную почту каждый раз, когда она запускается.
Наконец, 6-е поле (где вы вставляете root в свой третий пример) действителен только в системном файле crontab (/etc/crontab
или в любом из каталогов фрагментов /etc/cron.{d,hourly,daily,weekly,monthly}
. Он недопустим для crontab пользователя (который, кажется, используется вами) .
Я сделал следующее, чтобы подтвердить, что все работает правильно в принципе, вы можете следовать этой процедуре, чтобы хотя бы убедиться, что мы делаем то же самое:
sudo -i
). Это потому, что вы говорите, что хотите сделать это как root. crontab -e
. Вы будете помещены в редактор для редактирования crontab файл. 05 10 * * * date >>/tmp/crontest.txt
crontab -l
May 30 10:05:01 snowflake CRON[4170]: (root) CMD (date >>/tmp/crontest.txt)
Наконец, подтвердите, что /tmp/crontest.txt
был создан и содержит запланированное время / дату.
Cron уже много лет работает в Unix / Linux, он проверен и надежен, поэтому то, что вы испытываете, не является ошибкой, и вы, кажется, делаете все правильно, поэтому должно быть чем-то другим, что влияет на его функционирование правильно. Надеюсь, мы сможем определить, что это такое с некоторыми диагностическими процедурами:)
Используйте только один ноль в течение минуты. Как правило, это хорошая идея при создании заданий cron для использования полного пути команды, которую вы используете. Это связано с тем, что задания cron запускаются в специальной очень ограниченной среде оболочки, и ваш путь может отличаться от того, что вы используете при входе в систему. Если вы этого не знаете, вы можете легко найти его с помощью команды:
which wget
Другое дело, последняя команда root wget http://www.abc.com/a.php
неверна. root
не является допустимой командой. Я предполагаю, что вы хотели использовать sudo. Это было бы лишним, если вы выполняете задание cron как root, т. Е.
sudo crontab -e
Используйте только один ноль в течение минуты. Как правило, это хорошая идея при создании заданий cron для использования полного пути команды, которую вы используете. Это связано с тем, что задания cron запускаются в специальной очень ограниченной среде оболочки, и ваш путь может отличаться от того, что вы используете при входе в систему. Если вы этого не знаете, вы можете легко найти его с помощью команды:
which wget
Другое дело, последняя команда root wget http://www.abc.com/a.php
неверна. root
не является допустимой командой. Я предполагаю, что вы хотели использовать sudo. Это было бы лишним, если вы выполняете задание cron как root, т. Е.
sudo crontab -e
, если ваше задание задания cron недействительно, оно будет зарегистрировано в /var/log/syslog
. Обычно я делаю задание cron для запуска через 2 минуты, затем tail -f /var/log/syslog
и убедитесь, что все работает как ожидалось.
Если в /var/log/syslog
нет ошибок, но команда не выполнена для запуска (или даже его успеха), cron отправит вам по электронной почте консольный вывод из командной строки. Если вы не получаете эти электронные письма (вы можете посмотреть в /var/spool/mail/root
), то что-то еще происходит не так. Я замечаю, что вы не используете ключ -Q для wget, поэтому вы должны получать электронную почту каждый раз, когда она запускается.
Наконец, 6-е поле (где вы вставляете root в свой третий пример) действителен только в системном файле crontab (/etc/crontab
или в любом из каталогов фрагментов /etc/cron.{d,hourly,daily,weekly,monthly}
. Он недопустим для crontab пользователя (который, кажется, используется вами) .
Я сделал следующее, чтобы подтвердить, что все работает правильно в принципе, вы можете следовать этой процедуре, чтобы хотя бы убедиться, что мы делаем то же самое:
sudo -i
). Это потому, что вы говорите, что хотите сделать это как root. crontab -e
. Вы будете помещены в редактор для редактирования crontab файл. 05 10 * * * date >>/tmp/crontest.txt
crontab -l
May 30 10:05:01 snowflake CRON[4170]: (root) CMD (date >>/tmp/crontest.txt)
Наконец, подтвердите, что /tmp/crontest.txt
был создан и содержит запланированное время / дату.
Cron уже много лет работает в Unix / Linux, он проверен и надежен, поэтому то, что вы испытываете, не является ошибкой, и вы, кажется, делаете все правильно, поэтому должно быть чем-то другим, что влияет на его функционирование правильно. Надеюсь, мы сможем определить, что это такое с некоторыми диагностическими процедурами:)
, если ваше задание задания cron недействительно, оно будет зарегистрировано в /var/log/syslog
. Обычно я делаю задание cron для запуска через 2 минуты, затем tail -f /var/log/syslog
и убедитесь, что все работает как ожидалось.
Если в /var/log/syslog
нет ошибок, но команда не выполнена для запуска (или даже его успеха), cron отправит вам по электронной почте консольный вывод из командной строки. Если вы не получаете эти электронные письма (вы можете посмотреть в /var/spool/mail/root
), то что-то еще происходит не так. Я замечаю, что вы не используете ключ -Q для wget, поэтому вы должны получать электронную почту каждый раз, когда она запускается.
Наконец, 6-е поле (где вы вставляете root в свой третий пример) действителен только в системном файле crontab (/etc/crontab
или в любом из каталогов фрагментов /etc/cron.{d,hourly,daily,weekly,monthly}
. Он недопустим для crontab пользователя (который, кажется, используется вами) .
Я сделал следующее, чтобы подтвердить, что все работает правильно в принципе, вы можете следовать этой процедуре, чтобы хотя бы убедиться, что мы делаем то же самое:
sudo -i
). Это потому, что вы говорите, что хотите сделать это как root. crontab -e
. Вы будете помещены в редактор для редактирования crontab файл. 05 10 * * * date >>/tmp/crontest.txt
crontab -l
May 30 10:05:01 snowflake CRON[4170]: (root) CMD (date >>/tmp/crontest.txt)
Наконец, подтвердите, что /tmp/crontest.txt
был создан и содержит запланированное время / дату.
Cron уже много лет работает в Unix / Linux, он проверен и надежен, поэтому то, что вы испытываете, не является ошибкой, и вы, кажется, делаете все правильно, поэтому должно быть чем-то другим, что влияет на его функционирование правильно. Надеюсь, мы сможем определить, что это такое с некоторыми диагностическими процедурами:)
CRON[XXXXX]: (root) CMD ( /usr/bin/wget abc.com/a.php)
, если вы его не видите, это значит, что что-то еще не так. FWIW, ваша линия cron сама (36 6 * * * whatever-command
) правильна, поэтому проблема должна лежать в другом месте.
– roadmr
30 May 2012 в 04:49
May 31 00:55:01 Scrunch cron[27182]: (index.html) ORPHAN (no passwd entry)
. Это означает неправильную запись crontab, в которой cron считает, что index.html
является пользователем. Я предлагаю вам дважды проверить ваш синтаксис или обновить свой вопрос с помощью вывода sudo crontab -l -u root
, чтобы мы могли видеть все записи, которые есть, и попытаться их исправить. Кроме того, этот может i> находиться в одном из общесистемных файлов crontab, если вы изменили какой-либо файл / etc / crontab /, /etc/crontab.d/* или / etc / crontab. { ежечасно, ежедневно, еженедельно, ежемесячно}, пожалуйста, проверьте их также.
– roadmr
30 May 2012 в 20:42
Используйте только один ноль в течение минуты. Как правило, это хорошая идея при создании заданий cron для использования полного пути команды, которую вы используете. Это связано с тем, что задания cron запускаются в специальной очень ограниченной среде оболочки, и ваш путь может отличаться от того, что вы используете при входе в систему. Если вы этого не знаете, вы можете легко найти его с помощью команды:
which wget
Другое дело, последняя команда root wget http://www.abc.com/a.php
неверна. root
не является допустимой командой. Я предполагаю, что вы хотели использовать sudo. Это было бы лишним, если вы выполняете задание cron как root, т. Е.
sudo crontab -e
TZ=Australia/Sydney
. Это не обязательно, поскольку cron будет работать как любой часовой пояс, который пользователь в любом случае, и я думаю, что это может вызвать проблему.
– reverendj1
30 May 2012 в 02:33