系统日志是一个很重要的东西但同时如果我们不定时清除空间就会给日志占完了,下面我来介绍定期删除日志实现方法,各位同学可参考。

 

Nginx的日志文件累积的太多,最后充满了整个磁盘空间,所以昨天做了一个可以定期自动删除的脚本。

#!/bin/bash
find /usr/local/nginx/logs/ -mtime +15 -type f -name *.log | xargs rm -f

上述脚本是将nginxlogs下面的15天之前的日志文件删除,可以参考上面的脚本删除其他程序(如PHP、Tomcat)的日志文件。不过使用脚本的时候需要将Nginx的日志文件进行自动分割,否则会删除正在写入的日志文件了,Nginx日志分割脚本可以见 Linux下源码方式安装Nginx和PHP(FastCGI) 或者 CentOS系统初始安装MySQL、PHP和Nginx的脚本。

将脚本保存并使用chmod +x 命令指定可执行权限,最好还需要加入任务列表中(每天凌晨一点执行):

[root@localhost ~]# crontab -e
00 01 * * * /bin/bash /root/shell/autodellogs.sh
[root@localhost ~]# service crond restart