日志文件大于1G时清空文件

 (1)

#!/bin/bash
#当文件大于1G时清空

FILE=/root/hello.txt
#判断文件是否存在
if ! [ -f $FILE ]
then
#输出文件不存在
echo “file not exist!”
exit 1
fi
#判断文件大小,ls -l 用awk取输出的第五列
if [ ls -l $FILE|awk '{print $5}' -gt $((1024*1024)) ]
then
#输出空到文件中
echo " "> $FILE
fi
 

(2)

"find -size"

-size 选项用于查找满足指定的大小条件的文件(注意不查找目录), +表示大于, -表示小于, 没有+或-表示正好等于。

#!/bin/bash
cd /opt/cli-task
for i in $(find $PWD/logs/* -size +3G)
do
 echo " " > ${i};
done

(3)

"ls -l"

ls命令是linux下用来列出目录下的文件. 下面是关于ls的一些常规用法:

ls -a #列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
ls -l #列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
ls -F #在每一个文件的末尾加上一个字符说明该文件的类型。"@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。
ls -s #在每个文件的后面打印出文件的大小。 size(大小)
ls -t #按时间进行文件的排序 Time(时间)
ls -A #列出除了"."和".."以外的文件。
ls -R #将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
ls -L #列出文件的链接名。Link(链接)
ls -S #以文件的大小进行排序
ls可以结合管道符”|“来进行一下复杂的操作。比如: ls | less用于实现文件列表的分页,ls
#!/bin/bash
cd /opt/cli-task
for i in $(ls -l $PWD/logs/* |awk '{print $5}')
do
  for f in $(ls -l $PWD/logs/* |grep $i |awk '{print $9}')
   do
     if [ ${i} -gt 3221225472 ]; then #超过3G自动清理
       echo ${f} ${i}
       echo "" > ${f}
       fi
   done
done

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值