Linux 系统 shell脚本定时 清空系统日志文件(超详细)(基础篇02)

28 篇文章 1 订阅
17 篇文章 0 订阅

方法一

其实没有必要写shell脚本,简单一句话放在系统定时任务里就行了。
比如你的日志文件名叫a.log。路径为/tmp/a.log;
那么你可以写个定时任务,这样做:crontab -e 进入定时任务器,然后把下面这段写到里面


00 02 * * * echo " " >/tmp/a.log


然后保存退出就可以了。这段内容意思是,每天凌晨2点自动清空a.log内容。你也可以自己定义多久清一次。比如想10分钟清一次,就这么写*/10 * * * * echo " " >/tmp/a.log。

方法二

1、编写脚本

    假设在根目录下编写脚本auto_clear.sh,脚本内容:

#!/bin/bash
#描述:清除日志
file=/auto_clear.sh
cat /dev/null > $file

2、让脚本定时执行

在当前用户下,开始编辑定时任务

crontab -e

按键 i 进入编辑模式

输入下述命令每天凌晨一点执行

00 1 * * * sh /auto_clear.sh

然后按键 Esc 退出编辑模式,再输入 wq 保存退出即可

备注:

编辑好定时任务文本后最好重启下服务

[local_user lwp]#service crond restart

时间格式

分钟 小时 日期 月份 周 命令

数字范围 0-59 0-23 1-31 1-12 0-7 echo "hello" >> abc.log

特殊字符的含义

*(星号) 代表任何时刻都接受。

,(逗号) 代表分隔时段的意思。

-(减号) 代表一段时间范围内。

/n(斜线) 那个 n 代表数字,每隔 n 单位间隔。

eg1: 每年的五月一日 10:5 执行一次

5 10 1 5 * command(要是执行网址(curl "http://网址"),或者执行其它的直接写路径)

eg2: 每天的三点,六点各执行一次

00 3,6 * * * command

eg3: 每天的8:20, 9:20,10:20,11:20各执行一次

20 8-11 * * * command

eg4: 每五分钟执行一次

*/5 * * * * command

eg5: 每周一十点执行一次

00 10 * * 1 command

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值