我正在使用Ubuntu,我想自动清理系统中每3个月存储在/var/log中的日志文件如何编写脚本来做到这一点
谢谢
发布于 2012-03-27 07:29:37
标准的logrotate(8)实用程序可能是您最好的起点。
配置文件/etc/logrotate.conf定义了一些默认值,包括每天、每周、每月轮换、要保留的轮换次数、创建新日志文件时要使用的权限(在我的系统上是wtmp和btmp;在其他系统上可能也是utmp )。它还可以定义一个目录来读取配置文件--这使得发行版可以更容易地将循环文件与包一起打包。
只需将rotate 4更改为rotate 2,将文件数量减半,就可以实现您想要的效果。如果其中任何文件指定了自己的rotate限制,请在/etc/logrotate.d/中编辑这些文件。
发布于 2012-03-27 07:40:44
要做到这一点,您不必自己编写bash脚本。所有Linux环境都附带一个名为Cron的工具,它允许您执行调度命令、脚本等。
在这个页面http://www.adminschoice.com/crontab-quick-reference上有很好的解释
例如,可以使用以下命令打开用户的Cron文件,每3个月删除一次所有日志文件:
sudo crontab -e然后添加这行代码
* * * 1,4,7,10 * rm /var/log/*.{1,2,3,4}希望能有所帮助。
https://stackoverflow.com/questions/9881261
复制相似问题