linux清空日志shell脚本,linux清空日志shell脚本

1、find与xargs结合清空日志脚本案例

使用find的搜索某个目录下、log后缀的文件、某时间段文件更改时间的文件、文件类型为一般文件,然后通过xargs执行删除命令

find FIND_PATH  -name *.log -mmin +n -type f | xargs rm -rf

FIND_PATH:日志存储目录

-name *.log:log后缀的日志文件

-mmin +n:n分钟之前修改的文件

-type f :文件为一般类型文件

xargs :将find命令查找到的文件列表作为参数,执行删除操作

脚本实例如下:

每1000秒执行一次清空logs目录下300分钟之前修改过的一般类型的.log文件

#!/bin/bash

# $1:dirname

INTER=1

echo inter is:$INTER

FIND_PATH=../logs

echo findpath is:$FIND_PATH

while [ 1 ]

do

find $FIND_PATH                                \

-mmin +300                    \

-type f                                    \

-name '*.log'                            \

| xargs rm -f

sleep 1000

done

2、cat与>来清空日志文件脚本案例

/dev/null 可以看成linux中一个垃圾箱,这里的值永远是空的

cat /dev/null > /etc/test.txt可以理解为:把test.txt文件扔进垃圾箱,赋空值test.txt

缺点就是:需要定位到某个文件

脚本如下:

#!/bin/bash

INTER=1

echo inter is:$INTER

while [ 1 ]

do

cat /dev/null > /var/log/syslog

cat /dev/null > /logs/log.log

cat /dev/null > /var/log/test.log

sleep 1000

done

3、echo清空日志文件脚本案例

echo > /etc/test.txt:理解为输入空值到test.txt文件中

#!/bin/bash

INTER=1

echo inter is:$INTER

while [ 1 ]

do

echo > /var/log/syslog

echo "" > /logs/log.log

echo > /var/log/test.log

sleep 1000

done

其他:

1)j脚本:cl.sh

#!/bin/bash

echo "" > $1 #或者: > $1

echo "$1 cleaned up."

执行命令:./cl.sh 文件名称

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值