我正在使用Ubuntu我想清理系统中每3个月存储在/ var / log中的日志文件如何自动编写脚本
谢谢
答案 0 :(得分:4)
标准logrotate(8)
实用程序可能是您最好的起点。
配置文件/etc/logrotate.conf
定义了一些默认值,包括每日,每周,每月轮换,要保留的轮换次数,创建新日志文件时使用的权限(wtmp
和btmp
在我的系统上;也许在其他系统上utmp
。它还可以定义一个目录来读取配置文件 - 这使得发行版更容易将旋转文件打包到包中。
只需将rotate 4
更改为rotate 2
即可将文件数减半,即可完成所需操作。如果其中任何一个文件指定了自己的/etc/logrotate.d/
限制,请在rotate
中修改文件。
答案 1 :(得分:1)
您不必自己编写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}
希望它有所帮助。