apache2 httpd не запущен

Я запускаю свой веб-сервер (+ db) на Ubuntu 15.10 . Почему мой crontab не работает и как это исправить? Контекст У нас есть несколько серверов, на которых работает debian / wheezy. Одна резервная копия ...

Я задаю этот вопрос, потому что не нашел здесь ответа:
Почему мой crontab не работает и как я могу его устранить?

Контекст

Мы есть несколько серверов, на которых запущен debian / wheezy.

Одна задача резервного копирования требует, чтобы мы деактивировали crontab определенного пользователя во время резервного копирования, поэтому у нас есть сценарий, который запускается ежедневно, что примерно так:

# user is legec :

# save the crontab to a file
crontab -ulegec -l > /home/legec/.backup/crontab
# empty the crontab
echo "" | crontab -ulegec

backup ...

# reload crontab
cat /home/legec/.backup/crontab | crontab -ulegec

И это работает так, как мы ожидали , в подавляющем большинстве случаев.

Эта задача выполняется на ~ 80 серверах; в зависимости от сервера задача резервного копирования может занять от 1 минуты до 2 часов.

Ошибка

Время от времени cron не обнаруживает последнюю перезагрузку и не выполняет ни одно из заданий, перечисленных в crontab .

Файл в / var / spool / cron / crontabs / legec имеет ожидаемое содержимое и дату модификации:

$ ls -lh /var/spool/cron/crontabs/legec
-rw------- 1 legec crontab 6.7K Sep 22 04:03 /var/spool/cron/crontabs/legec

, но журналы cron показывают, что cron не обнаружил последнее изменение:

$ cat /var/log/cron.log | grep -E "LIST|RELOAD|REPLACE"
...
# yesterday's backup : all went fine
Sep 21 04:00:06 lgserver crontab[6670]: (root) LIST (legec)
Sep 21 04:00:06 lgserver crontab[6671]: (root) LIST (legec)
Sep 21 04:00:06 lgserver crontab[6673]: (root) REPLACE (legec)
Sep 21 04:01:01 lgserver /usr/sbin/cron[2025]: (legec) RELOAD (crontabs/legec)
Sep 21 04:03:01 lgserver crontab[7071]: (root) REPLACE (legec)
Sep 21 04:03:01 lgserver /usr/sbin/cron[2025]: (legec) RELOAD (crontabs/legec)

# today's backup : no final RELOAD event
Sep 22 04:00:07 lgserver crontab[24163]: (root) LIST (legec)
Sep 22 04:00:07 lgserver crontab[24164]: (root) LIST (legec)
Sep 22 04:00:07 lgserver crontab[24166]: (root) REPLACE (legec)
Sep 22 04:01:01 lgserver /usr/sbin/cron[2025]: (legec) RELOAD (crontabs/legec)
Sep 22 04:03:01 lgserver crontab[24458]: (root) REPLACE (legec)
          # no RELOAD line here

«Время от времени» означает: нет регулярности, мы наблюдаем эту ошибку, может быть, раз в месяц на одном случайном сервере из ~ 80 работающих.

Вопрос

Есть ли у кого-нибудь подсказка, где искать?

4
задан 22 September 2017 в 11:30
1 ответ

Прежде всего, на всякий случай, я бы посоветовал использовать правильные формы работы с crontab . А именно

crontab -u user -r

для удаления его crontab и

crontab -u user backed_up_crontab_file

для восстановления.

Во-вторых, ваше время может быть важным. Если crontab пользователя запускается редко, возможно, он пропускает запуск 1 раз после восстановления, потому что он сработал бы за минуту до фактического восстановления.

4
ответ дан 3 December 2019 в 03:28

Теги

Похожие вопросы