ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux 切割文件

linux 切割文件

原创 Linux操作系统 作者:xiaoyan5686670 时间:2015-12-17 16:31:27 0 删除 编辑

  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博客 ” ,链接:https://blog.itpub.net/22569416/viewspace-1874054/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: linux vmstat 详解
请登录后发表评论 登录
全部评论

注册时间:2012-07-25

  • 博文量
    108
  • 访问量
    276159