Я на Linux (Ubuntu) 16.04. У меня есть набор скриптов в /etc/cron.daily
который обрабатывает anacron. Раньше они бегали нормально каждый день, но я заметил, что они не бегали в последнее время. Я не уверен, если это из-за обновления или чего-то еще. Это сводит меня с ума, потому что я перепробовал все, что мог придумать, не добившись результатов. Вот что я проверил до сих пор:
1) grep "Nov 22" /var/log/syslog | grep "cron.daily" -B 5 -A 5
:
Nov 22 06:24:47 ubuntu16 dbus[816]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 22 06:24:47 ubuntu16 systemd[1]: Started Network Manager Script Dispatcher Service.
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: new request (1 scripts)
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: start running ordered scripts...
Nov 22 06:25:01 ubuntu16 CRON[6455]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
**Nov 22 06:25:01 ubuntu16 CRON[6456]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))**
Nov 22 06:30:01 ubuntu16 CRON[6485]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:35:01 ubuntu16 CRON[6513]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:39:01 ubuntu16 CRON[6536]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
Nov 22 06:40:01 ubuntu16 CRON[6583]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:45:01 ubuntu16 CRON[6612]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Таким образом, кажется, что сценарии cron.daily запущены или, по крайней мере, anacron пытается запустить его, и в системном журнале нет ошибок. Я также проверил, и в cron.daily есть запись в системном журнале на каждый день, как и должно быть.
2) Я убедился, что мои скрипты были исполняемыми, ls -l /etc/cron.daily/
:
-rwxr-xr-x 1 root root 139 Nov 20 16:24 bingbot
-rwxr-xr-x 1 root root 142 Nov 20 16:24 bingbotb
-rwxr-xr-x 1 root root 142 Nov 20 16:25 bingbotc
3) Я также добавил строку в /etc/cron.daily/bingbot
перед вызовом моего скрипта, которая создаст файл с датой запуска, просто чтобы убедиться, что это не проблема с моим скриптом (echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/user/bingbot.txt
) Однако на следующий день он не создал bingbot.txt
поэтому я знаю, что он не запустился.
4) Я запустил свой скрипт вручную из /etc/cron.daily/bingbot
он отлично работал и создал файл с датой.
5) Мой сценарий не требует разрешений sudo.
6) Содержание /etc/cron.daily/bingbot
:
#!/bin/sh
echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/toshiba/bingbot.txt
python /home/user/Desktop/BingRewards/mainpy
7) ОБНОВЛЕНИЕ Попытка запустить anacron вручную sudo run-parts /etc/cron.daily
которая успешно запустила мой скрипт. Интересно ... в журнале я получаю:
Nov 22 17:01:14 ubuntu16 anacron[15605]: Anacron 2.3 started on 2017-11-22
Nov 22 17:01:14 ubuntu16 anacron[15605]: Can't open timestamp file for job cron.daily: Permission denied
Nov 22 17:01:14 ubuntu16 anacron[15605]: Aborted
После того, как он закончился, я снова запустил sudo run-parts /etc/cron.daily
и это не дало этой ошибки; Nov 22 17:35:55 ubuntu16 anacron[16777]: Updated timestamp for job cron.daily' to 2017-11-22
Возможно, это была ошибка разрешения, и она начнет работать.Но что могло вызвать эту проблему с разрешениями?
ОБНОВЛЕНИЕ2 Anacron не удалось запустить сценарии и сегодня. Та же ошибка "Отказано в доступе", что и в журнале выше. Кроме того, строка в /etc/crontab
выполняет anacron от имени пользователя root следующим образом:
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
ОБНОВЛЕНИЕ 3 После перезагрузки компьютера проблема ушла на ~ 3 дня, но затем снова появилась. 25-го числа в системном журнале было сказано, что cron.daily завершил работу, что выглядит странно. Однако 26-го числа это сработало, потому что в системном журнале сообщалось, что он обновил отметку времени. 27-го он полностью не смог бежать. Это безумие. Я не могу понять, что является причиной этого.
В чем может быть причина того, что он не запускает мой скрипт?