0

我正在使用 Ubuntu 我想每 3 个月自动清理一次系统中存储在 /var/log 中的日志文件我该如何编写脚本来执行此操作

谢谢

4

2 回答 2

4

标准logrotate(8)实用程序可能是您最好的起点。

配置文件/etc/logrotate.conf定义了一些默认值,包括每天、每周、每月轮换、要保留的轮换次数、创建新日志文件时使用的权限(wtmp以及btmp在我的系统上;也许也在utmp其他系统上)。它还可以定义一个目录来读取配置文件——这使得发行版更容易将旋转文件与包一起打包。

您可能只需更改rotate 4rotate 2将文件数量减半即可完成您想要的操作。/etc/logrotate.d/如果其中任何一个指定了自己的rotate限制,请编辑其中的文件。

于 2012-03-26T23:29:37.327 回答
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}

希望能帮助到你。

于 2012-03-26T23:40:44.013 回答