logrotate を動作させるのに苦労しています。基本的には、ログをローテーションするために 1 時間に 1 回 cronjob を実行したいだけです。
最初は動作していましたが、logrotate はファイル名を変更しただけで完全に壊れてしまい、動作しなくなりました。素晴らしいソフトウェアなのですが...
現在、compress で実行しているときに、理解できない権限エラーが発生していますlogrotate --force myconfig
。compress をコメントアウトすると、ログがローテーションされ、エラーなしで 12345678.log-2021010608 が作成されます。
なぜこのようなことが起こるのか、私にはわかりません。権限は問題ないように見えますし、オプションも使用してみましたsu
。create
また、コマンドをルートとして実行してみましたが、何も起こりません。エラーもファイルも作成されません。
エラー:
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 にしましたが、違いはありませんでした。