Я изо всех сил пытался понять, как crontab и logrotate работают вместе, и я хожу по кругу.
Я взял строку из / etc / crontab и запустил:
$ sudo run-parts --report /etc/cron.hourly
/etc/cron.hourly/logrotate:
run-parts: failed to exec /etc/cron.hourly/logrotate: No such file or directory
run-parts: /etc/cron.hourly/logrotate exited with return code 1
$ run-parts --report /etc/cron.hourly
/etc/cron.hourly/logrotate:
run-parts: failed to exec /etc/cron.hourly/logrotate: No such file or directory
run-parts: /etc/cron.hourly/logrotate exited with return code 1
Файл logrotate существует в /etc/cron.hourly:
$ ll /etc/cron.hourly/
total 16
drwxr-xr-x 2 root root 4096 Jun 25 15:43 ./
drwxr-xr-x 94 root root 4096 Jun 26 10:20 ../
-rwxrwxr-x 1 root root 98 Jun 26 13:00 logrotate*
-rw-r--r-- 1 root root 102 Feb 9 2013 .placeholder
Полагаю, именно поэтому мои последние изменения в ротации журналов ежечасно не работают.
Странно, когда я бегу:
$ sudo run-parts --report /etc/cron.daily
Он просто зависает, пока я не нажму Ctrl + C, чтобы отменить его.
Мой /etc/cron.hourly/logrotate выглядит так:
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate_hourly.conf
Если я запускаю следующее:
sudo /usr/sbin/logrotate /etc/logrotate_hourly.conf
Затем он вращает журналы точно так, как должен.
Это заставляет меня предположить, что упомянутая выше ошибка - моя проблема.
У кого-нибудь есть идеи, которые они могут дать мне относительно того, что я пропустил?
Приветствия
Обновление
из того, что было рекомендовано ниже, я преобразовал мой /etc/cron.hours/logrotate в окончание строки Unix.
Это означало, что запуск команды crontab вручную в терминале работал. Нет ошибок, и журналы были повернуты правильно.
Однако crontab по-прежнему не работает автоматически.