svn怎么执行清理命令_SHELL脚本定期删除日志文件(日志定期清理)

假设我们的应用每天会产生一个日志文件,但我们并没有对日志文件做任何归档处理,久而久之日积月累,就会将磁盘空间占满,从而影响系统的正常运行。

分析磁盘空间占用情况

#当前磁盘空间占用情况

df -h

#当前目录文件大小列表

ll -lh

#文件列表按时间排序

ll -rt

#文件大小列表,按时间排序

ll -lhrt

#查询20天前的日志

find  * -name 'server02.log007*' -mtime +20

#删除20天前的日志

find  * -name 'server02.log007*' -mtime +20 -exec rm -rf {} ;

那么,如何定期清理过期的日志文件呢?

方法一:应用实现

方法二:shell脚本定期清理

应用实现的方式这里就不做过多的介绍,本文着重讲解下如何编写shell脚本定期清理日志文件。

步骤一:编写自动清理日志文件shell脚本

# vim logAutoClean.sh

#!/bin/bash
log_path="/home/server/core/logs/app"

#目录存在,删除修改时间为7天前的文件
if  [ -d "${log_path}" ]; then 
echo start delete log 7 days ago...
    find "${log_path}"/* -name '*.log.gz' -mtime +240 -exec rm -rf {} ;
echo end delete log ...	
fi

# :wq! 保存并退出

步骤二:脚本文件授权(可执行权限)

# chmod +x logAutoClean.sh

测试一下:

# sh logAutoClean.sh

步骤三:创建crontab定时任务

# crontab –e

进入编辑页面(第一次进入会让你选择编辑器,这里我们选择3[vim.basic]就ok)。

  • 设置每天凌晨1点执行(假定清除脚本在目录/home/server/core/logs/app下),编辑crontab,增加如下行:
00 01 * * * /home/server/core/logs/app/logAutoClean.sh
  • 可先设置五分钟执行一次,测试下脚本
*/5 * * * * /home/server/core/logs/app/logAutoClean.sh
  • 如果定时任务不生效,重启下crond服务
# service crond restart  //重启服务

附录:crontab用法说明

  1. crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。
  2. 每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的
  3. 在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。

每个域之间使用空格或者制表符分隔。格式如下:

格  式: minute hour day-of-month month-of-year day-of-week commands 
合法值: 00-59 00-23 01-31 01-12 0-6 (0 is sunday)

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

crontab 命令

-l 在标准输出上显示当前的crontab。 
-r 删除当前的crontab文件。 
-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值