我在「logrotate.d」目錄中添加了兩個腳本,以便旋轉我的應用程序日誌。 這是其中的一種配置:logrotate cron作業不旋轉某些日誌
<myLogFilePath> {
compress
copytruncate
delaycompress
dateext
missingok
notifempty
daily
rotate 30
}
有一個「logrotate的」腳本「cron.daily」目錄(這似乎是運行日常按照cron的日誌):
#!/bin/sh
echo "logrotate_test" >>/tmp/logrotate_test
#/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
/usr/sbin/logrotate -v /etc/logrotate.conf &>>/root/logrotate_error
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
第一個echo語句正在工作。
但我發現我的應用程序單獨的日誌沒有得到旋轉,而其他日誌像httpd越來越旋轉**
**而且我也沒有看到在提到「logrotate_error」文件任何輸出(有寫權限爲所有用戶)。
但是系統日誌說:「的logrotate:警惕以異常退出[1]」
但是當我在運行相同的「日誌輪播」,「cron.daily」腳本手動,一切似乎都工作正常。
爲什麼在日常計劃中不旋轉?我在這裏做錯了什麼?
如果我得到這個非常需要的幫助,那將會很棒。
更新: 看起來,這是因爲的SELinux的 - 在我的用戶主目錄中的日誌文件已經限制SELinux所強加和運行logrotate的腳本時:
SELinux is preventing /usr/sbin/logrotate from getattr access on the file /home/user/logs/application.log
這哪裏是取自?你可以補充一下嗎?我谷歌搜索了這個,我看到很多類似的消息,但我找不到消息來源。這是SELinux給出的默認消息嗎? – 2017-03-08 20:02:11