系统管理与网络应用脚本实用指南
系统日志轮转脚本(rotatelogs)
在系统管理中,日志管理是一项重要的工作,而日志轮转脚本rotatelogs能有效地帮助我们管理日志文件。
配置文件示例:
netinfo.log=7 secure.log=7 statistics=7 system.log=14 # Anything with a duration of zero is not rotated. wtmp=0工作原理:
脚本的核心是find语句,它会遍历/var/log目录,筛选出符合条件的日志文件。具体条件如下:
- 文件大小大于零字符。
- 文件名中不包含数字。
- 文件名不以点开头(避免处理 OS X 系统中奇怪命名的日志文件)。
- 文件名不以conf结尾(避免轮转rotatelogs.conf文件)。
-maxdepth 1确保不进入子目录。
- 最后使用sed去除匹配结果中的前导./序列。
graph TD; A[开始] --> B[执行find