我已经配置了我自己的logrotate(应用程序日志)和编辑(nginx日志),所有这些都是在食谱(厨师)中创建的。我的问题是:logrotate会自动运行吗?
我问,因为我的配置中日志的大小不能超过5MB,并且日志的大小为100MB。
显示root的crontabs:
crontab -l
no crontab for root
/etc/logrotate.conf中
weekly
su root syslog
rotate 4
create
include /etc/logrotate.d
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}
答案 0 :(得分:1)
通常,logrotate作为每日cron作业运行。您可以将// main.js
import name from './cmod.js';
console.log(name);
和size 5M
添加到logrotate配置中,以查找您感兴趣的日志。
在每日logrotate运行之间,日志有可能增长超过5M。这可以通过降低大小值和/或更频繁地运行logrotate来调整。
查看daily
了解详情。
答案 1 :(得分:0)
如果要在文件大小达到5Mb时立即轮换文件,只需将文件放在/etc/cron.hourly/
文件夹可执行文件中:
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.d/nginx
如果这还不够,你可以像这样做一个crontab工作:
*/30 * * * * root logrotate /etc/logrotate.d/nginx
(每30分钟轮换一次)
答案 2 :(得分:0)
你要在错误的地方搜索第一件事。 Logrotate是cron日常工作的一部分。
cron作业位于以下目录“/ etc / cron.daily / logrotate”
您可以运行以下命令强制运行logrotate
sudo logrotate -v -f /etc/logrotate.conf
如果您希望日志在达到5mb后轮换,则应在脚本中添加size
值。
你应该有这样的东西:
/var/log/mylogs {
......
missingok
size=5M
create 0664 root utmp
rotate 3
}
以下是关于如何轻松设置logrotate的link to more details。