Привет, это связано с этот вопрос.
Я использую 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
Поэтому мне было интересно, что мне нужно больше, чем просто эта строка.