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 文件名称