crontab неожиданно перестал работать

Итак, вот моя проблема, я недавно обновил свой сервер и изменил некоторые JSP-файлы, которые используются для автоматического объявления. В crontab есть все.sh-файлы, перечисленные в нем, а.sh-файлы запускают jsp-файлы для отображения объявлений.

После того, как я закончил обновление файлов jsp, я перезагрузил сервер, и с тех пор объявления перестали работать. Я могу запустить.sh файлы через putty вручную, и они отлично работают, поэтому изменения, внесенные в файлы jsp, не являются проблемой.

Я провел некоторое исследование перед публикацией здесь и проверил системный журнал на наличие записей cron. До момента, когда я перезагрузил свой сервер, служба cron работала как надо. После перезагрузки не было записей в системном журнале для cron.

Я попытался перезагрузить сервер снова, я также попытался перезапустить службу cron, я также даже попытался полностью остановить службу и запустить ее снова без эффекта. Я не могу понять, почему служба cron внезапно перестала работать, так как ничего не касалось cron или каких-либо операционных файлов, которые были затронуты во время обновления моего сервера.

У кого-нибудь есть предложения относительно того, почему он мог перестать работать? Я использую Ubuntu Server 11.10

2 ответа

1. Запишите все задания cron для всех пользователей, включая root, например:

Чтобы перечислить crontab рута

sudo crontab -l

Перечислить ваш crontab

crontab -l

2. Удалите crontab для всех пользователей, используя следующие

Чтобы удалить crontab рута

sudo crontab -r

Чтобы удалить ваш crontab

crontab -r

3. Перезагрузите систему

4. Поместите ваши задания обратно в cron (предпочтительно cron root), либо создав текстовый файл, затем указав cron на этот файл, либо вручную.

Настроить вручную

sudo crontab -e

Чтобы указать cron на текстовый файл

sudo crontab <filename>

Логично, что желательно вводить в порядке появления. Например, если у вас есть работа, которая выполняется до другого (по времени) места, указанного выше.

Помните, что файл cron или crontab должны иметь записи в следующем формате

m h dom mon dow full path command

Например, отключение в 14:30 в любой день недели, кроме выходных

30 14 * * 2,3,4,5,6 /sbin/shutdown

Другой пример запускает файл сценария (test.sh - находится в папке /usr/local/myScripts) каждый понедельник в 2:00 будет

0 2 * * 2 /usr/local/myScripts/test.sh

Однажды у меня была такая же проблема с cron, и я помню, как читал на форуме, что нам нужно удалить cron пользователя и перезапустить систему, а затем воссоздать ее.

Если ваш скрипт выполняется из интерактивного терминала, но не из crontab, это типично для проблемы среды.

Cron запускает ваши программы в почти пустой среде.

В вашем crontab попробуйте добавить >/tmp/script.log 2>&1 в конце ваших сценариев, чтобы поймать ошибки в лог-файл.

Вы также можете попробовать запустить свой скрипт с env -i чтобы убедиться, что они работают правильно с пустой средой. (env -i /you/script.sh)

Возможно, вам придется добавить некоторые записи в переменную окружения PATH.

Другие вопросы по тегам