学习shell中,学以致用。

最近公司业务服务器上的rtmp写日志量很大,所以写了一个小脚本来定期清理下日志。

#!/bin/bash
threshold=102400  #设置日志文件大小阀值,单位为K,此处为100M。
for i in `cat /home/ZJ/logpath.t | grep -v "#"`;    # logpath.t,此文件存放日志文件的绝对路径。

do
 logsize=`du -s $i | awk '{print $1}'`
 if [ $logsize -gt $threshold ];
 then
  rm -rf $i.5
  if [ -f $i.4 ];then
  mv $i.4 $i.5 
  fi
  if [ -f $i.3 ];then
  mv $i.3 $i.4 
  fi
  if [ -f $i.2 ];then
  mv $i.2 $i.3 
  fi
  if [ -f $i.1 ];then
  mv $i.1 $i.2
  fi
  cp $i $i.1
  echo > $i
    echo "Successful!"
 fi 
done