Как может logrotate результат выполнения в "service: not found"?

752
PLNech

Я пытаюсь понять результат выполнения моего скрипта logrotate:

ошибка: ошибка при запуске общего постротационного скрипта для /var/log/nginx/*.log logrotate_script: 2: logrotate_script: служба: не найдена ошибка: ошибка при запуске нераспространенного сценария постротации для / var / log / syslog из / var / log / syslog logrotate_script: 2: logrotate_script: служба: не найдена ошибка: ошибка при запуске общего постротационного скрипта для '/var/log/mail.info /var/log/mail.warn /var/log/mail.err /var/log/mail.log /var/log/daemon.log /var/log/kern.log /var/log/auth.log /var/log/user.log /var/log/lpr.log /var/log/cron.log / Вар / Журнал / отладки / var / log / messages ' 

Насколько я понимаю, logrotate обнаруживает ошибку при запуске постротационных сценариев для nginxи syslog, соответственно service nginx rotate >/dev/nullи service rsyslog rotate > /dev/null.

Logrotate скрипт ( /etc/logrotate.d/nginx)

/var/log/nginx/*.log { daily missingok rotate 365 compress delaycompress notifempty create 0640 www-data www-data olddir /var/log/archives/nginx sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate invoke-rc.d nginx rotate >/dev/null 2>&1 endscript } 

Logrotate запускается через cron от имени пользователя root, и запуск сценариев postrotate вручную проходит без проблем:

Запись в Crontab (root)

00 00 * * * /usr/sbin/logrotate -s /var/lib/logrotate/status /etc/logrotate.conf

Ручное выполнение постротационного скрипта

$ invoke-rc.d nginx rotate >/dev/null 2>&1 && echo $?  0 


Чем можно объяснить это сообщение? service:not found

0
Вы пропускаете путь ?! Попробуйте / usr / sbin / service JohannesM 8 лет назад 0

1 ответ на вопрос

0
SiD

Can you write the context of /etc/logrotate.conf or file with the ngix log rotation rules?

In rh/centos 'service' is in /sbin/service but in debian/ubuntu is in '/usr/sbin/service. Do you have absolute path in pre or post rotate?

Я добавил правила ротации логов, которые являются пакетом по умолчанию. Как видите, нет абсолютного пути. PLNech 8 лет назад 1

Похожие вопросы