Назад | Перейти на главную страницу

Создание настраиваемого logrotate для удаленных журналов

Привет, это связано с этот вопрос.

Я использую CentOS8 + SELinux, настроенный на принудительное исполнение.

Мне нужна информация о том, как правильно создать logrotate для моих удаленных журналов, использующих шаблон

$template RemoteMessages, "/var/log/%HOSTNAME%/messages"

Это означает, что мне нужно создать logrotate, который поворачивает файлы в / var / log /% HOSTNAME%.

У меня есть этот короткий файл logrotate:

/var/log/SRVR*/*
{ 
 missingok
 weekly
 rotate 12
 create 600 root root
 dateext
 compress
 postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
 endscript
}

Когда я запустил его в подробном и принудительном режиме, я получил такой результат:

rotating log /var/log/SRVRPXYP01/user.log, log->rotateCount is 12
dateext suffix '-20200728'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
set default create context to system_u:object_r:var_log_t:s0
glob finding old rotated logs failed
set default create context to system_u:object_r:var_log_t:s0
renaming /var/log/SRVRPXYP01/user.log to /var/log/SRVRPXYP01/user.log-20200728
creating new /var/log/SRVRPXYP01/user.log mode = 0600 uid = 0 gid = 0
running postrotate script
running script with arg /var/log/SRVRPXYP01/user.log: "
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
"
compressing log with: /bin/gzip

Никакие журналы не переименовываются и не создаются. Это означает, что это не работает. Я что-то упускаю?

У клиента это есть только в настраиваемой конфигурации rsyslog.

*.* @@<centralserver_ip>:514

Поэтому мне было интересно, что мне нужно больше, чем просто эта строка.