如何限制/var/log下的日志大小
1个回答
2014-12-06
展开全部
某些Unix变种提供一个logrotate脚本,它能够帮助我们完成这个任务。例如RedHat就已经预先配置,它会根据日志文件的大小或者日志文件的使用时间,每隔几日轮换日志文件。
如果没有则需要自己实现该功能:
可以使用称为Logfile::Rotate的Perl模块(可从CPAN下载)。下面的代码就具有这种功能,它由cron按照一定的间隔周期(比如一星期)运行,为了节省空间。每一个备份的日志文件都经过压缩。
use Logfile::Rotate;
$logfile = new Logfile::Rotate(
File => &single;/usr/local/apache/logs/access_log&single;,
Count => 5,
Gzip => &single;/bin/gzip&single;,
Signal => sub {
`/usr/local/apache/bin/apachectl restart`;
}
);
Perl模块Logfile::Rotate负责了所有具体操作任务。运行这个程序,我们将得到名为access_log.1.gz、 access_log.2.gz等的文件。它可以帮助我们避免磁盘空间的不足。
如果没有则需要自己实现该功能:
可以使用称为Logfile::Rotate的Perl模块(可从CPAN下载)。下面的代码就具有这种功能,它由cron按照一定的间隔周期(比如一星期)运行,为了节省空间。每一个备份的日志文件都经过压缩。
use Logfile::Rotate;
$logfile = new Logfile::Rotate(
File => &single;/usr/local/apache/logs/access_log&single;,
Count => 5,
Gzip => &single;/bin/gzip&single;,
Signal => sub {
`/usr/local/apache/bin/apachectl restart`;
}
);
Perl模块Logfile::Rotate负责了所有具体操作任务。运行这个程序,我们将得到名为access_log.1.gz、 access_log.2.gz等的文件。它可以帮助我们避免磁盘空间的不足。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询