1

Недавно я переключился с пользовательского анакронтаба (используя -t) на глобальный. Теперь каждый день anacron отправляет мне сообщение (по электронной почте пользователю root), что ему не удалось открыть папку cron.daily:

Subject: Anacron job 'cron.daily' on myComputer
Message: run-parts: failed to open directory /etc/cron.daily: No such file or directory

Rsnapshot-jobs работают нормально, однако задачи, связанные с cron, не работают. Вот мой анакронтаб /etc/anacrontab

# /etc/anacrontab: configuration file for anacron
#
# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
# days to wait - delay in minutes - job-name - command to execute
1   5   cron.daily  run-parts --report /etc/cron.daily
7   10  cron.weekly run-parts --report /etc/cron.weekly
@monthly    15  cron.monthly    run-parts--report /etc/cron.monthly
1   5   rsnapshot.day   /usr/local/bin/doBackup.sh daily
7   30  rsnapshot.week  /usr/local/bin/doBackup.sh weekly

А вот вывод команды ls -rtl /etc | grep cron для просмотра разрешений для папки:

-rw-r--r--  1 root root      722 Jul  3  2012 crontab
drwxr-xr-x  2 root root     4096 Sep 11  2015 cron.hourly
drwxr-xr-x  2 root root     4096 Sep 11  2015 cron.monthly
drwxr-xr-x  2 root root     4096 Sep 11  2015 cron.weekly
drwxr-xr-x  2 root root     4096 Jan 25 16:04 cron.daily
-rw-r--r--  1 root root      858 Mar 21 10:49 anacrontab
drwxr-xr-x  2 root root     4096 Mar 21 10:57 cron.d
drwxr-xr-x 10 root root     4096 Mar 21 10:57 cron-apt

(Недостаточно репутации для создания тега 'anacron')

Edit1:

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

root@myComputer:/etc# run-parts -v /etc/cron.daily
run-parts: executing /etc/cron.daily/0anacron
run-parts: executing /etc/cron.daily/apt
run-parts: executing /etc/cron.daily/aptitude
run-parts: executing /etc/cron.daily/bsdmainutils
run-parts: executing /etc/cron.daily/cracklib-runtime
run-parts: executing /etc/cron.daily/dpkg
run-parts: executing /etc/cron.daily/exim4-base
run-parts: executing /etc/cron.daily/logrotate
run-parts: executing /etc/cron.daily/man-db
run-parts: executing /etc/cron.daily/mlocate
run-parts: executing /etc/cron.daily/passwd
run-parts: executing /etc/cron.daily/popularity-contest
root@myComputer:/etc#

Edit2:

Наконец-то я знаю, что заставило анакрон действовать так, как будто это провод. Это конец строки в anacrontab:

sed -n l anacrontab
# /etc/anacrontab: configuration file for anacron\r$
...

У здорового анакронтаба не должно быть \r в конце строки (это возврат каретки) .. на самом деле я понятия не имею, как они туда попали.

Так что это ошибка в анакроне. Либо анакрон должен полностью отказаться от выполнения такого искаженного файла, либо он должен просто съесть возврат каретки и работать так, как ожидалось. Я отправил сообщение об ошибке в систему отслеживания ошибок Debian. Текущее состояние ошибки можно проверить здесь:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=821081.

1 ответ1

1

Вы пытались удалить все задания, кроме cron.daily и протестировать его с помощью "anacron -T"? Как я вижу, ваши задания rsnapshot.day и cron.daily выполняются одновременно с одинаковой задержкой. Может быть, это вызывает конфликт с правами доступа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .