我正在努力让 logrotate 工作。基本上我只想每小时运行一次 cronjob 来轮换我的日志。
现在我最初可以正常工作,但是 logrotate 在仅更改了一个文件名后就完全崩溃并停止工作,它是一款出色的软件......
现在,我在使用 compress 运行时遇到了难以理解的权限错误logrotate --force myconfig
。如果我注释掉 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
}
为了测试,我还对文件夹和 .log 文件进行了 chmod 777,但没有什么区别。