2012-03-26 62 views
0

我使用Ubuntu的我想清理我的系统日志文件,这些文件存储在/ var /日志,每3每月自动我怎么能写一个脚本这样做清理系统在Linux

谢谢你

+0

手动?尝试一个实用程序http://bleachbit.sourceforge.net/ – Coffee 2012-03-26 23:18:45

+1

是的,我想写一个bash shell来做到这一点 – 2012-03-26 23:26:37

回答

4

标准logrotate(8)工具可能是你最好的出发点。

配置文件/etc/logrotate.conf定义了一些默认设置,包括每日,每周,每月轮换,创建新的日志文件时使用的保持,权限旋转数(我的系统上wtmpbtmp;或许在其他系统也utmp) 。它还可以定义一个目录来读取配置文件 - 这使得发行版可以更轻松地将包文件与循环文件打包在一起。

只需将rotate 4更改为rotate 2即可将所需文件数减半。编辑/etc/logrotate.d/中的文件,如果其中任何一个指定了它们自己的rotate限制。

1

你不必自己编写一个bash脚本来做到这一点。所有的Linux环境都与一个叫克朗工具,它允许你做安排命令,脚本等

大家都该页面http://www.adminschoice.com/crontab-quick-reference

删除所有日志在此说明文件每3个月会为例子可能

sudo crontab -e 

,然后加入线

* * * 1,4,7,10 * rm /var/log/*.{1,2,3,4} 

希望它:通过打开用户的Cron文件来实现帮助。

+1

删除所有的日志,而不仅仅是旧的日志是有点严厉。 – sarnold 2012-03-26 23:43:03

+0

谢谢你指出。不过,你的答案可能会更好。如果有用于管理日志的专用工具,则应该使用它。 – nilewapp 2012-03-26 23:55:55

+0

这没有工作,它给了我一个错误,说认证失败,当我写ayoya @ ubuntu:〜$ crontab -e ayoya没有crontab为什么会这样? – 2012-03-26 23:57:59