批量删除日志,并且对日志进行gzip压缩
-
需求
找到/data/logs/目录下所有*.log文件,删除60天以前的,并且对一天以前的使用gzip进行压缩(每一个都压缩)
-
find /data/logs/ -name "*.log" 查找以log为结尾的文件
-
-mtime +60 查找60天之前的文件,-1 代表1天以内的文件
-
xargs rm 删除掉文件,xargs是用来传递参数给rm用的
-
xargs gzip 进行文件压缩,使用gzip压缩源文件会消失
#!/bin/bash
find /data/logs/ -name "*.log" -mtime +60 |xargs rm
find /data/logs/ -name "*.log" -mtime +1 |xargs gzip
- 可以把脚本添加到crontab 计划任务中,每天晚上12点执行
crontab -e
0 0 * * * /bin/bash /usr/local/src/shell/logs_gzip.sh