nginx 로그 분할 for linux

1512 단어
사용 방법 은 다음 스 크 립 트 를 cutlog. sh 로 저장 하고 / root 디 렉 터 리 에 두 고 이 스 크 립 트 를 실행 할 수 있 는 권한 을 줍 니 다.
 
  
chmod +x cutlog.sh

그리고 crontab - e 를 사용 하여 이 스 크 립 트 를 계획 작업 에 추가 합 니 다.
 
  
00 00 * * * /bin/bash /root/cutlog.sh

이 스 크 립 트 를 매일 새벽 0 시 0 분 에 실행 합 니 다.
 
  
#!/bin/bash
#function:cut nginx log files shell
# , /home/wwwlogs
log_files_path="/home/wwwlogs/"
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
# nginx , 52listen.com.log , 52listen.com
log_files_name=(52listen.com access)
# nginx 。
nginx_sbin="/usr/local/nginx/sbin/nginx"
# , 30
save_days=30
############################################
#Please do not modify the following script #
############################################
mkdir -p $log_files_dir
log_files_num=${#log_files_name[@]}
#cut nginx log files
for((i=0;imv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
done
#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} \;
$nginx_sbin -s reload

좋은 웹페이지 즐겨찾기