
У меня есть система Linux gentoo, которая выполняет cronjob каждый день в 3:10 утра. Однако ни один файл не содержит никакой информации , /etc
связанной с этим конкретным cronjob, и результатcrontab -l
# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
MAILTO=""
0 * * * * rm -f /var/spool/cron/lastrun/cron.hourly
1 3 * * * rm -f /var/spool/cron/lastrun/cron.daily
15 4 * * 6 rm -f /var/spool/cron/lastrun/cron.weekly
30 5 1 * * rm -f /var/spool/cron/lastrun/cron.monthly
*/10 * * * * test -x /usr/sbin/run-crons && /usr/sbin/run-crons
Каталог, /etc/cron.daily
вероятно, содержит рассматриваемое задание, но на время в 3:01! Почему так? Фактически cronjobn хранится где-то еще? Требуется ли Gentoo 9 минут, чтобы понять, что нужно выполнить задание?
Дополнительная информация:
- У меня есть другое задание crontab на 13:20 (в cron.d), которое выполняется ровно в 13:20 каждый день.
решение1
Проверьте, не от другого ли пользователя:
getent passwd | while read r; do sudo -u $(echo $r | cut -d':' -f1) crontab -l; done
решение2
crontab -l
только выводит список crontab для каждого пользователя, вызывающего пользователя. Также есть системный crontab, который может редактировать только root, но может запускать задания от имени любого пользователя. Системный crontab находится в файле /etc/crontab
, а дополнительные задания — в файлах в каталоге /etc/cron.d
.
Каталоги /etc/cron.daily
и не встроены в cron, но просматриваются заданием, указанным /etc/cron.weekly
в ./etc/cron.monthly
/etc/crontab