Linux做脚本定时任务清除日志

Linux做脚本定时任务清除日志

1:定时任务

linux 系统是由 cron  这个服务来控制的。查看crontab定时任务时间设置规范如下:

cat /etc/crontab

cron 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程

cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

minute: 表示分钟,0~59之间的任何整数。

hour:表示小时,0~23之间的任何整数。

day:表示日期,1~31之间的任何整数。

month:表示月份,1~12之间的任何整数。

week:表示星期几,0~7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令或者脚本。

2:编辑第一个sh脚本del.sh并且设置定时任务执行该脚本

vi del.sh

2.1 插入一下脚本:(作用是将当前时间打印到当前目录的 a.log中)

#!/bin/bash
echo `date +"%Y-%m-%d %H:%M:%S"` hello word >> ./a.log

2.2 保存,给del.sh脚本添加权限

chmod a+x del.sh

2.3 给del.sh添加到定时任务中:使用crontab -e //编辑当前用户的定时服务,每分钟执行一次

* * * * * cd /home && ./del.sh &>/dev/null

2.4 查看a.log日志文件执行结果如下,代表定时任务添加成功

注意:Linux定时任务的命令如下

crontab -u //设定特定用户的定时服务

crontab -l //列出当前用户定时服务内容

crontab -r //删除当前用户的定时服务(会删除当前用户的所有定时任务指令,建议慎用)

crontab -e //编辑当前用户的定时服务

3:设置删除日志脚本

脚本语法:  find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;

实例命令:

find /home/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;

实例命令说明:

将 /home/tomcat/logs/ 目录下所有30天前带".log"的文件删除。具体参数说明如下:

find:linux的查找命令,用户查找指定条件的文件;

 /home/tomcat/logs/ :想要进行清理的目录;

-mtime:标准语句写法;

+30:查找30天前的文件,这里用数字代表天数;

"*.log":希望查找的数据类型,"*.log"表示查找扩展名为log的所有文件,"*"表示查找所有文件;

-exec:固定写法;

rm -rf:强制删除文件,包括目录;

{} \; :固定写法,一对大括号+空格+\+; 

作者:杜云明 欢迎转载,与人分享是进步的源泉!

如果觉得本文对您有所帮助,您可以点赞收藏。

内容有不对的地方欢迎批评指正。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕菲烟云

坚持原创,希望大家多多交流

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值