Я пытаюсь заставить работать logrotate. По сути, я просто хочу, чтобы cronjob запускался раз в час для ротации моих журналов.
Поначалу у меня все работало, но logrotate полностью облажался и перестал работать после того, как я просто изменил имя файла, хотя это замечательная программа...
Теперь я сталкиваюсь с непонятными ошибками разрешений при запуске logrotate --force myconfig
с compress. Если я закомментирую compress, журнал ротируется и 12345678.log-2021010608 создается без ошибок.
Я понятия не имею, почему это происходит. Разрешения выглядят нормально, и я пробовал использовать параметры su
и create
. Я также пробовал запустить команду как root, но тогда она просто... ничего не делает. Никаких ошибок или файлов не создается.
ошибка:
error: error setting owner of /home/user/test/12345678.log-2021010608.gz to uid 1000 and gid 1001: Operation not permitted
разрешения:
-rw-r--r-- 1 user group 70 Jan 6 08:02 12345678.log
-rw-r--r-- 1 user group 140 Jan 6 08:00 12345678.log-2021010608
-rw------- 1 user user 0 Jan 6 08:01 12345678.log-2021010608.gz
Конфигурация Logrotate:
/home/user/test/*.log {
# su user group
hourly
dateext
dateformat -%Y%m%d%H
missingok
compress
# compressoptions -9
# create 644 user group
rotate 2
notifempty
nocreate
postrotate
sudo systemctl restart serial.service
endscript
}
Для тестирования я также применил chmod 777 к папке и файлу .log, но это ничего не изменило.