我运行sudo crontab -e并附加以下行:
* * * * * logrotate -f /etc/logrotate.d/adraw; touch /ADraw/Data/Logs/test.txt
Run Code Online (Sandbox Code Playgroud)
文件 test.txt 已成功创建,但我没有看到 logrotate 的结果。奇怪的是,如果我运行sudo logrotate -f /etc/logrotate.d/adraw一切正常(创建了其他文件)。
我的/etc/logrotate.d/adraw配置:
/ADraw/Data/Logs/*.log {
hourly
size 1M
missingok
rotate 5
compress
delaycompress
notifempty
create 0640 ADraw ADraw
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi \
endscript
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
Run Code Online (Sandbox Code Playgroud)
正如 Steeldriver 所说,解决方案是在 cron 中添加 logrotate 的完整路径:
* * * * * /usr/sbin/logrotate -f /etc/logrotate.d/adraw; touch /ADraw/Data/Logs/test.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1722 次 |
| 最近记录: |