Я использую Ubuntu 9.10 и 10.04 на серверах MediaTemple (ve).
На обоих анакрон установка не работает, ... и они были сломаны с тех пор, как я впервые установил Ubuntu. Это привлекло мое внимание только недавно, когда я понял, что мои файлы журналов не меняются.
Я надеюсь, что кто-то, у кого работает Anacron, поможет диагностировать проблему и предложить решение.
Вот это /etc/cron.d/anacron ... Эта часть работает правильно: каждое утро в 7:30, cron выполняет эту команду для запуска анакрона.
# /etc/cron.d/anacron: crontab entries for the anacron package
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
30 7 * * * root test -x /etc/init.d/anacron && /etc/init.d/anacron start >/dev/null
Проблема в том, что /etc/init.d/anacron start не удается:
# /etc/init.d/anacron start >/dev/null
start: Unknown job: anacron
Обратите внимание, что /etc/init.d/anacron - это символическая ссылка на / lib / init / upstart-job:
# ls -l /etc/init.d/anacron
lrwxrwxrwx 1 root root 21 Jan 12 2010 /etc/init.d/anacron -> /lib/init/upstart-job
Теперь я в тупике. У кого-нибудь есть предложения, как это исправить?
Взгляните в / var / журнал и посмотрите, меняются ли ваши файлы журналов (в отличие от неограниченного увеличения). Если они являются будучи повернутым, то у вас наверняка есть рабочий анакрон, поэтому, пожалуйста, проверьте свои настройки и дайте мне знать, чем они отличаются от моих.
Заранее спасибо, ...
Upstart фактически использует файлы конфигурации в /etc/init
для каждой услуги, а не /etc/init.d
. Я предполагаю, что ссылки /etc/init.d предназначены для сохранения совместимости с sysvinit. Вот выскочка руководство по началу работы что объясняет это.
У меня нет системы Ubuntu, поэтому я не могу проверить содержимое /etc/init/anacron.conf
, но я подозреваю, что это может быть просто exec anacron -s
. Регистрироваться /etc/init.removed/
и посмотрите, есть ли там anacron.conf, который был удален в процессе обновления. Возможно, вы также сможете переустановить anacron, чтобы исправить это.
Ubuntu 10.04 /etc/cron.d/anacron:
# /etc/cron.d/anacron: crontab entries for the anacron package
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#30 7 * * * root test -x /etc/init.d/anacron && /usr/sbin/invoke-rc.d anacron start >/dev/null
30 7 * * * root start -q anacron || :
/etc/init.d/anacron start:
# /etc/init.d/anacron start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service anacron start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start anacron
# ls -al /etc/init.d/anacron
lrwxrwxrwx 1 root root 21 2011-01-10 19:05 /etc/init.d/anacron -> /lib/init/upstart-job
anacron start/running, process 5446
/etc/cron.daily/logrotate можно запустить без anacron, если / usr / sbin / anacron не существует (/ etc / crontab):
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 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 )