Когда я заметил, что резервный текст, который я поместил в /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
в нем нет сценариев.
Любые идеи о том, что может пойти не так?
bash
cron
debian-squeeze
Cobra_Fast
источник
источник
/var/spool/mail/root
случае, если вы еще не/etc/aliases
настроили пересылку почты root где-то, что можно прочитать.cron.weekly
нет.Ответы:
Эти
cron.weekly
скрипты запускаютсяrun-parts
который пропускает все файлы с расширением. Переименуйтеruncheck.sh
вruncheck
и это должно сделатьисточник
comm1 || comm2 || comm3 || comm4
будет выполняться до тех пор, пока не будет возвращено первое значение = 0 (слева направо). Остальные связанные команды оптимизированы интерпретатором и НЕ выполняются вообще
Если в качестве
test -x /usr/sbin/anacron
возвращаемого значения вернуть ноль, другие команды выполняться не будут.источник