#!/bin/bash logdir="/data/logs/nginx"; TIME=$(date -d "5 minutes ago" +%Y%m%d_%H%M); DAY_OLD=$(date -d "30 days ago" +%Y%m%d); yesterday=`date -d "yesterday" "+%Y%m%d"` pid=$(cat $logdir/nginx.pid); cd $logdir; for i in $(ls *.log); do mv $i $i.$TIME; done #/usr/local/openresty/nginx/sbin/nginx -s reload; kill -s USR1 $pid for j in $(ls *.log.$TIME); do gzip $j; done #find . -ctime +30 -name "*.gz" -exec rm -f {} \; test -d $logdir/$yesterday || mkdir $logdir/$yesterday mv $logdir/*.log.$yesterday* $logdir/$yesterday > /dev/null 2>&1 rm -rf $logdir/${DAY_OLD}