红联Linux门户
Linux帮助

linux清空日志shell脚本

发布时间:2017-04-07 15:44:37来源:linux网站作者:xianjie0318
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 文件名称
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29820.html