Раньше у меня крон работал без проблем. У меня была кучка скриптиков в /etc/cron.daily и подобных папочках, в кронтаб я не лазал. Тут понадобилось заставить скрипты из cron.daily выполняться не в 3 утра, а в 4 утра. Полез в crontab и прописал это:
0 */2 * * * root /etc/cron.script/ftp-update
1 4 * * * root /etc/cron.script/emerging
1 4 * * * root /etc/cron.script/mysql-db-dump
1 4 * * * root /etc/cron.script/slocate
15 5 * * 6 root /etc/cron.script/squid.cron
Эти скрипты вроде бы выполняются:
03-Dec-05 04:01 USER root pid 17465 cmd root /etc/cron.daily/mysql-db-dump
Но на самом деле они не выполняются. Т.е. если раньше, когда они лежали в /etc/cron.daily, они выполнялись (создавался дамп базы, обновлялся файллист и делался emerge sync), то сейчас они вобще не выполняются (дампов базы нету, файллист старый, синка не было итд). Если положить скрипты в /etc/cron.daily — все равно они не выполняются.
Вот права на файл:
longobard ~ # ls -l /etc/cron.script/
total 24
-r-x—— 1 cron cron 114 Окт 30 14:56 emerging
-r-x—— 1 cron cron 306 Окт 27 21:44 ftp-update
-r-x—— 1 cron cron 196 Авг 31 09:49 icetestscript.sh
-r-x—— 1 cron cron 1109 Авг 12 16:19 mysql-db-dump
-r-x—— 1 cron cron 211 Сен 18 22:00 slocate
-r-x—— 1 cron cron 133 Сен 11 2004 squid.cron
longobard ~ #
Пробовал ставить 777, не помогает.
В чем может быть проблема? Мучал google.ru и опеннет, читал мануал, приставал к Genie. Бесполезно :)
Чего посоветуете?
Заранее спасибо за любые варианты.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
А что там насчет того, что в 4.00 по умолчанию вроде updatedb должен работать.
Может тут собака зарыта.
Что значит «по умолчанию"? :)
ну и пусть себе работает, я ему мешаю что ли? Вобще-то updatedb у меня в скрипте slocate включен.
В общем гипотеза лишена смысла. Тогда хотя бы flp-update выполнялся бы раз в час :)
Ну может я и ошибаюсь, а вообще ты не замечал, что в 4.00 (если с системой ничего не делать, имеется в виду не перенастраивать), диск начинает жутко шуршать, что-то все-таки делается в 4.00, ну попробуй на 5.00 один день.
А вот еще из man cron
Additionally, cron checks each minute to see if its spool directory’s modtime (or the modtime on /etc/crontab) has changed, and if it has, cron will then examine the modtime on all crontabs and reload those which have changed. Thus cron need not be restarted whenever a crontab file is modified. Note that the Crontab(1) command updates the modtime of the spool directory whenever it changes a crontab.
Кроме того, cron каждую минуту проверяет, не изменилось ли время modtime (или modtime время у /etc/crontab), и, если это изменение действительно имело место, то тогда cron будет проверять modtime у всех файлов crontabs и перезагружать те, для которых изменение имело место.
Ну дальше не имеет смысла переводить, суть вобщем-то, что у твоих файлов может быть этот modtime меняется, он изх перезагружает, но не выполняет так как перезагружает уже после 4.00.
При чем тут конкретное время? даже если твоя гипотеза верна (а она неверна, т.к. ничто не мешает двум ресурсоемким задачам работать параллельно), то выполнялись бы скрипты, которые выполняются раз в час и раз в два часа.
А че спорить, может на опыте проверьт проще.
Предлагаю повнимательнее посмотреть на пути к скриптам, записанные в crontab, и на тот путь, который пишется в лог. Затем почесать репу другой рукой и, наконец, найти верное решение своей проблемы ;).
Лог просто старый немного, я потом эти скрипты для надежности переместил в /etc/cron.script из cron.daily :)
Вот свежий лог:
тут вся странность в том, что в system-wide файле /etc/crontab должны быть записи вида (man 5 crontab)
т.е. есть дополнительное поле user.
по характеру ошибки, точнее по
понятно, что cron пытается интерпретировать файл конфигурации как обычный пользовательский. почему так — непонятно.
У меня написано же
Юзер указан :)