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