Linux --日志定时清理

上篇文章写到了在工作中遇到的一个因为磁盘空间占满导致的问题,因应用每天都要写日志,所以如果不定时对部署应用的服务器进行清理的话会经常遇到这样的问题。为避免相似的问题发生,今天总结一个Linux日志定时清理的脚本,简单的配置一下,一劳永逸,何乐而不为。
1、Linux删除文件命令:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
  
  
eg:
find /home/apache-tomcat-7.0.55-13-990*/webapps/ProxyServer2.0/WEB-INF/logs/ -mtime +10  -name "*.log.*" -exec rm -rf {} \;
  
  

  
  
  1. 说明:
  2. find:Linux查找命令,用户查找指定条件的文件
  3. /home/apache-tomcat-7.0.55-13-990*/webapps/HollyProxyServer2.0/WEB-INF/logs/:需要进行清理的目标目录
  4. -mtime:标准语句写法
  5. +10 :数字代表天数
  6. -name "*.log.*":目标文件的类型,带有log的所有文件
  7. -exec:固定写法
  8. rm -rf:强制删除包括目录在内的文件
  9. {} \;:固定写法,一对大括号+空格+\+;
2、设置定时任务
每次都去手动执行任务太麻烦,我们可以新建一个shell脚本文件,再设置cron调度执行,让系统自动去清理相关的文件。
(1)创建shell脚本(新建一个可执行文件auto-del-log.sh,并分配可运行权限)

  
  
  1. touch /home/apache-tomcat -7.0 .55 -13 -990*/webapps/ProxyServer2 .0/WEB-INF/bin/ auto-del- log.sh
  2. chmod +x auto-del- log.sh
(2)编辑shell脚本
vi auto-del-log.sh
  
  
编辑auto-del-log.sh文件如下:

  
  
  1. #!/bin/sh
  2. find /home/apache-tomcat-7.0.55-13-990*/webapps/ProxyServer2.0/WEB-INF/logs/ -mtime +10 -name "*.log.*" - exec rm -rf {} \;
保存退出(:wq)。
(3)执行定时任务
#crontab -e进入定时任务编辑页面,按i底部出现INSERT,开始进行任务脚本编辑,将auto-del-log.sh执行脚本加入到系统计划任务,到点自动执行:
30 0 * * * /home/apache-tomcat-7.0.55-13-990*/webapps/ProxyServer2.0/WEB-INF/logs/ auto-del-log.sh
  
  
设置每天凌晨0:30执行auto-del-log.sh文件进行数据清理任务。
编辑完成按Ctrl+c,输入:quit,之后再输入:w!完成保存,ctrl+c,:quit退出。
上篇文章写到了在工作中遇到的一个因为磁盘空间占满导致的问题,因应用每天都要写日志,所以如果不定时对部署应用的服务器进行清理的话会经常遇到这样的问题。为避免相似的问题发生,今天总结一个Linux日志定时清理的脚本,简单的配置一下,一劳永逸,何乐而不为。
1、Linux删除文件命令:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
  
  
eg:
find /home/apache-tomcat-7.0.55-13-990*/webapps/ProxyServer2.0/WEB-INF/logs/ -mtime +10  -name "*.log.*" -exec rm -rf {} \;
  
  

  
  
  1. 说明:
  2. find:Linux查找命令,用户查找指定条件的文件
  3. /home/apache-tomcat-7.0.55-13-990*/webapps/HollyProxyServer2.0/WEB-INF/logs/:需要进行清理的目标目录
  4. -mtime:标准语句写法
  5. +10 :数字代表天数
  6. -name "*.log.*":目标文件的类型,带有log的所有文件
  7. -exec:固定写法
  8. rm -rf:强制删除包括目录在内的文件
  9. {} \;:固定写法,一对大括号+空格+\+;
2、设置定时任务
每次都去手动执行任务太麻烦,我们可以新建一个shell脚本文件,再设置cron调度执行,让系统自动去清理相关的文件。
(1)创建shell脚本(新建一个可执行文件auto-del-log.sh,并分配可运行权限)

  
  
  1. touch /home/apache-tomcat -7.0 .55 -13 -990*/webapps/ProxyServer2 .0/WEB-INF/bin/ auto-del- log.sh
  2. chmod +x auto-del- log.sh
(2)编辑shell脚本
vi auto-del-log.sh
  
  
编辑auto-del-log.sh文件如下:

  
  
  1. #!/bin/sh
  2. find /home/apache-tomcat-7.0.55-13-990*/webapps/ProxyServer2.0/WEB-INF/logs/ -mtime +10 -name "*.log.*" - exec rm -rf {} \;
保存退出(:wq)。
(3)执行定时任务
#crontab -e进入定时任务编辑页面,按i底部出现INSERT,开始进行任务脚本编辑,将auto-del-log.sh执行脚本加入到系统计划任务,到点自动执行:
30 0 * * * /home/apache-tomcat-7.0.55-13-990*/webapps/ProxyServer2.0/WEB-INF/logs/ auto-del-log.sh
  
  
设置每天凌晨0:30执行auto-del-log.sh文件进行数据清理任务。
编辑完成按Ctrl+c,输入:quit,之后再输入:w!完成保存,ctrl+c,:quit退出。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值