定时清理日志信息


定时清理日志信息:

目录下的单个日志文件: 如 /mnt/zklc/tmp/a.log


1- 在家目录下创建一个bin目录,在bin目录里面写上一个脚本 deletelog.sh
   内容如下:

   #!/bin/bash
   echo '' > /mnt/zklc/tmp/a.log;

    添加执行权限:

chmod 777 /home/liushuo/bin/deletelog.sh

2- 在定时任务里面写一个任务,定时执行这个脚本

    进入定时任务编写界面

crontab -e

    编写定时任务(每月的15号将数据清空)

0  23  15  *  *  /mnt/removelog/sh/deletelog.sh

    


目录下的多个日志文件

第一步:
root用户下操作 创建相关的目录

cd   /mnt/  
mkdir removelog
chmod 777 removelog
cd /mnt/removelog/
mkdir /mnt/removelog/sh
mkdir /mnt/removelog/log

第二步编写sh脚本( vim /mnt/removelog/sh/deletelog.sh)

脚本内容如下:


#!/bin/bash
find /home/liushuo/test/log/ -mtime +30 -name "*.log" | xargs -i mv {} /mnt/removelog/log/;
##查询/var/spool/mail下面的文件,将最近30天之外的日志数据文件挪到/mnt/removelog/log/目录下面(这个时间指的是操作修改的时间)
##比如日志文件包含(今天的日期是20210708)
## -rw-rw-r--. 1 liushuo liushuo      22739 7月  10 01:22 2021-07-08-error.log
## -rw-rw-r--. 1 liushuo liushuo      2235  5月  10 08:22 2021-05-10-error.log
## -rw-rw-r--. 1 liushuo liushuo      23453 3月  10 11:30 2021-03-10-error.log
## 被挪走的文件就是2021-03-10-error.log 和 2021-05-10-error.log
find /mnt/removelog/log -name "*.log" -exec rm -rf {} \;
##将/mnt/removelog/log目录下的所有文件删除掉

为.sh添加执行权限
chmod 777 /mnt/removelog/sh/deletelog.sh


第三步:
将定时任务写入到contrb定时任务中(deletelog.sh 目录:/mnt/removelog/sh)
在root用户下执行:crontab -e 进入定时任务编写界面,编写任务如下

0 2 * * * /mnt/removelog/sh/deletelog.sh


contrb注释:
0  2  *  *  *  /mnt/removelog/sh/deletelog.sh
分 时 日 月 周 |<============命令串============>|

*表示不论何时都会执行的意思
,表示分隔时间段 如0  2,3  *  *  *  命令串 表示每天2:00和3:00都会执行命令串
-表示时间范围 如20  8-10 * * * 命令串 表示每天8:20 9:20 10:20 都会执行命令串
*/n 表示每隔n时间执行一次 如*/5 *  *  *  *  命令串 表示每隔五分钟执行一次命令串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值