linux 切割文件


  1. #/bin/bash
  2. nginx_log="/usr/local/nginx/logs"
  3. baklog_Dir="/tmp/home/sda_user/nginx_work/logs/swda"
  4. pid_path=$nginx_log/"nginx.pid"
  5. var=`date +%Y-%m-%d`

  6. logBakFile=$baklog_Dir/$(date "+%Y%m%d_%H%M%S")

  7. if [ ! -d ${logBakFile} ]
  8. then
  9.         mkdir -p ${logBakFile%/*}
  10. fi

  11. if [[ -z `find $nginx_log/access.log -mmin -5` ]];  #修改时间大于5分钟则切割
  12. then
  13.     time_level=1
  14.    echo "f1"
  15. else
  16.     time_level=0
  17.    echo "f2"
  18. fi

  19. if [[ `ls -l $nginx_log/access.log|awk '{print $5}'` -gt $((1024*5)) ]];  #大于5m则切割
  20. then
  21.    file_size=1
  22.    echo "t1"
  23. else
  24.    file_size=0
  25.    echo "t2"
  26. fi
  27.  
  28. if [[ -s $nginx_log/access.log ]]; #文件不为空,则移走文件
  29.  then
  30. if [[ $file_size -eq 1 ]] || [[ $time_level -eq 1 ]];
  31. then
  32.    mv $nginx_log/access.log $logBakFile".tmp" 2>&1 >/dev/null
  33. mv $logBakFile".tmp" $logBakFile".log" 2>&1 >/dev/null
  34. else
  35. sleep 5
  36. fi
  37. fi

  38. kill -USR1 `cat ${pid_path}`


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22569416/viewspace-1874054/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22569416/viewspace-1874054/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值