作者:coralzd                    网址 www.freebsdsystem.org/cut_nginx_logs
继续共享在线上运行一年半的nginx 日志切割脚本。
 

引用
 
  1. #!/bin/bash  
  2. # powered by www.freebsdsystem.org  
  3. # author:coralzd  
  4. # The Nginx logs path  
  5. logs_path="/data0/logs" 
  6. logs_dir=${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")  
  7. logs_file=$(date -d "yesterday" +"%Y%m%d")  
  8. mkdir -p /data0/backuplogs/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")  
  9. tar -czf ${logs_path}/${logs_file}.tar.gz ${logs_path}/*.log  
  10. rm -rf ${logs_path}/*.log  
  11. mv ${logs_path}/${logs_file}.tar.gz /data0/backuplogs/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")  
  12.  
  13. /usr/local/nginx/sbin/nginx -s reload  
  14.  
  15. for oldfiles in `find /data0/backuplogs/$(date -d "30 days ago" +"%Y")/$(date -d "30 days ago" +"%m")/  -type f -mtime +30`  
  16. do 
  17.      rm -f $oldfiles 
  18. done  



置于crond 中每天0点运行
 

  1. 00 00 * * * /usr/local/sbin/cut-logs.sh 2>&1 >/dev/null &