Linux定时清理日志
shell脚本编写
1.先创建出一个一个文件夹用于保存.sh文件
mkdir crontab-file
2.创建.sh文件
vim filename,如果文件存在则打开,如果文件不存在则新建。
vim clear_xxljob_logs.sh
3.编写删除日志脚本
#! /bin/bash #find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} ; #find:linux的查找命令,用户查找指定条件的文件; #/home/admin/logs/xxljob/jobHandler:想要进行清理的任意目录; #-mtime:标准语句写法; #+2:查找3天前的文件,这里用数字代表天数; #"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用 # 例如find /home/tomcat/apache-tomcat-8.0.52/logs -mtime +2 -name "*.log.*" -exec rm -rf {} \;表示删除这个目录下两天前所有文件名包含.log.的文件 #-exec:固定写法;表示执行命令 #rm -rf:强制删除文件,包括目录; # {} \; :固定写法,{}中表示find /home/admin/logs/xxljob/jobHandlder查找到的所有文件一对大括号+空格+\+ find /home/admin/logs/xxljob/jobHandler -mtime +2 -exec rm -rf {} \;
4.在脚本所在的目录给脚本增加可执行权限
chmod +x clear_xxljob_logs.sh
设置定时器,定期执行脚本
创建好要执行的脚本之后,需要启动linux的crontab来定时执行这个脚本。
1.编辑当前用户的定时任务
crontab -e
将shell文件添加到系统定时任务中38 17 * * * /home/admin/crontab-file/clear_xxljob_logs.sh
如图:
2.corn表达式问题,采用5位corn表达式
# 文件格式說明 # ——分鐘(0 - 59) # | ——小時(0 - 23) # | | ——日(1 - 31) # | | | ——月(1 - 12) # | | | | ——星期(0 - 7,星期日=0或7) # | | | | | # * * * * * 被執行的命令
corntab -l 参看当前用户的定时任务,出现以下目录说明定时任务已经添加成功 38 17 * * * /home/admin/crontab-file/clear_xxljob_logs.sh corntab -r 删除当前用户的定时任务