Почему cron.weekly не работает?

8

Когда я заметил, что резервный текст, который я поместил в /etc/cron.weekly на моем сервере Debian6, не выполняется, я поместил в него этот небольшой скрипт, чтобы посмотреть, выполняется ли еженедельный cronjob вообще:

#!/bin/bash
echo 'CRON RAN' > /var/log/cron-weekly-runcheck.log

сохранил как

-rwxr-xr-x 1 root root 64 Jul 15 02:14 /etc/cron.weekly/runcheck.sh

Когда я проверил сегодня, лог-файл, который он должен был создать, не существовал.
Crontab выглядит следующим образом (который, по моим сведениям, должен быть Crontab Debian6 по умолчанию):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 1   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Все, что показывает еженедельный cronjob в любых лог-файлах, это строка:

Jul 16 06:47:01 wtwrp /USR/SBIN/CRON[29272]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

Примечание: cron.dailyпохоже, работает, так как logrotate работает. cron.hourlyв нем нет сценариев.

Любые идеи о том, что может пойти не так?

Cobra_Fast
источник
Проверьте почту root для вывода и, возможно, сообщений об ошибках. Может быть найден в том /var/spool/mail/rootслучае, если вы еще не /etc/aliasesнастроили пересылку почты root где-то, что можно прочитать.
Ладададада
@ Ладададада хорошая идея! К сожалению, там абсолютно ничего cron.weeklyнет.
Cobra_Fast

Ответы:

18

Эти cron.weeklyскрипты запускаются run-partsкоторый пропускает все файлы с расширением. Переименуйте runcheck.shв runcheckи это должно сделать

Крисси
источник
4
Это та вещь, которую ты поймаешь, только когда сделаю ставку.
user9517
1

comm1 || comm2 || comm3 || comm4

будет выполняться до тех пор, пока не будет возвращено первое значение = 0 (слева направо). Остальные связанные команды оптимизированы интерпретатором и НЕ выполняются вообще

Если в качестве test -x /usr/sbin/anacronвозвращаемого значения вернуть ноль, другие команды выполняться не будут.

Kondybas
источник