shell脚本清理日志内容保留文件

测试工作经常需要Jenkins构建,有时提示空间不足,我们需要定期去清理日志,部分日志文件是不能直接删除,如果服务器部署多个项目,每个项目都有很多日志,甚至个别文件很大,此时手动打开文件,人为去删除效率很慢.故需要借助shell脚本去定期清理日志内容. 详细操作步骤如下:

步骤1: 创建文件

touch /testlog/del-2-days-ago-log.sh

步骤2: 赋予权限

1.png

步骤3:shell文件中添加脚本

vim /testlog/del-2-days-ago-log.sh
2.png

步骤4:输入i 进入编辑模式

步骤5: 输入命令

3.png
#/bin/bash 
for i in `find /testlog -name "*.log"` 
do  
  cat /dev/null > $i 
done 

命令延伸知识

删除/opt目录下所有的日志文件

find /opt -name *.log.* | xargs rm -rf

查看/opt目录下,所有日志文件及大小

find /opt -name *.log | xargs du -sh

查找目录下的.log后缀的文件,并清空文件内容(这里不是删除文件)

find /opt -name *.log -exec cp /dev/null {} \;

步骤6: ESC 退出编辑模式

步骤7: :wq!保存离开

步骤8: 查看定时任务是否安装

systemctl status crond
5.查看定时任务是否安装 systemctl status crond.png

查看crontab是否已安装

rpm -qa | grep crontab
查看crontab是否已安装.png

步骤9: crontab -e

6.crontab -e.png

步骤10: 输入定时脚本

定时5分钟执行一次

*/5 * * * * /testlog/del-2-days-ago-log.sh

步骤11: :wq!保存定时任务 提示添加成功

crontab: installing new crontab

注意:用crontab -e 编辑的定时任务三分钟之内是不会执行的,所以在测试的时候,至少时间后推三分钟!

步骤12: 查看定时任务日志是否执行

tail -f /var/log/cron
7.查看定时任务日志.png

单个定时清理日志内容保留文件

8.日志成功清掉.png

批量清理日志内容保留文件

9.批量清空日志.png

步骤13: 查看已经创建的计划任务

crontab -l
crontab -l查看已经创建的计划任务.png

步骤14: 删除定时任务

  1. 进入计划服务配置界面
crontab -e
  1. 删除计划任务
dd
  1. 保存并退出
:wq!
  1. 再次查看
crontab -l
dd 删除计划任务.png

你可能感兴趣的:(shell脚本清理日志内容保留文件)