grabbee
@grabbee

Как понять почему logrotate не сработал сам? Нужно ли перезапускать сервис крона в Ubuntu?

Чтобы logrotate запускался каждый час, переместил его скрипт из папки крона daily в hourly - но лог nginx всё равно распух до нескольких гигов(конфиг ротации имеется). Я вручную запустил в консоли logrotate /etc/logrotate.conf и только тогда прошла ротация. Убунту 20.04

Как понять почему logrotate не сработал сам?

#!/bin/sh

# skip in favour of systemd timer
if [ -d /run/systemd/system ]; then
    exit 0
fi

# this cronjob persists removals (but not purges)
if [ ! -x /usr/sbin/logrotate ]; then
    exit 0
fi

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit $EXITVALUE
  • Вопрос задан
  • 909 просмотров
Решения вопроса 1
@galaxy
# skip in favour of systemd timer
if [ -d /run/systemd/system ]; then
    exit 0
fi


Он запускается через systemd, а не крон.
# systemctl status logrotate.timer
● logrotate.timer - Daily rotation of log files
     Loaded: loaded (/lib/systemd/system/logrotate.timer; enabled; vendor preset: enabled)
     Active: active (waiting) since Sat 2020-10-17 03:30:01 MSK; 2 months 24 days ago
    Trigger: Mon 2021-01-11 00:00:00 MSK; 17h left
   Triggers: ● logrotate.service
       Docs: man:logrotate(8)
             man:logrotate.conf(5)

# cat /lib/systemd/system/logrotate.timer
[Unit]
Description=Daily rotation of log files
Documentation=man:logrotate(8) man:logrotate.conf(5)

[Timer]
OnCalendar=daily
AccuracySec=12h
Persistent=true

[Install]
WantedBy=timers.target
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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