我把nginx的access.log删除了以后重新vim一个access.log可不写入了,怎么办?
#!/bin/bash
NHOME=/nginx
LOGHOME=$NHOME/logs
PIDFILE=$LOGHOME/nginx.pid
NGXPID=$(cat $PIDFILE)
NGXCONF=$NHOME/conf/nginx.conf
RDATE=$(date +%y%m%d%H%M%S)
if [[ ! -f $PIDFILE ]]
then
echo "$PIDFILE not found."
exit
fi
if [[ ! -f $NGXCONF ]]
then
echo "$NGXCONF not found."
exit
fi
LOGNA1=$(grep -e "^\s*[^#]*\s*access_log" $NGXCONF|sed -n 's/;//p'|awk '!/\<on\>|\<off\>/ {print $2}'|sed -n '1p')
LOGNA2=$(echo $LOGNA1 |sed -n '/^\//p')
if [[ -z $LOGNA1 ]]
then
echo "access_log path not found."
exit
fi
if [[ -z $LOGNA2 ]]
then
mv $NHOME/$LOGNA1 $NHOME/$(dirname $LOGNA1)/access_${RDATE}.log
kill -USR1 $NGXPID
cd $NHOME/$(dirname $LOGNA1)
gzip access_${RDATE}.log
else
mv $LOGNA2 $(dirname $LOGNA2)/access_${RDATE}.log
kill -USR1 $NGXPID
cd $(dirname $LOGNA2)
gzip access_${RDATE}.log
fi
cd $NHOME/$(dirname $LOGNA1)
find ./ -iname "access_*.log.gz" -mtime +90 -type f -exec rm -f {} \;
exit 0;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。