系统相关
首页 > 系统相关> > linux环境nginx每天自动重启:crontab

linux环境nginx每天自动重启:crontab

作者:互联网

1.新建reload.sh文件

#!/bin/bash
# chkconfig: - 85 15
NGINX="/home/account/nginx-1.20.1/sbin/nginx"
PROG=$(basename $NGINX)
PIDFILE="/home/account/nginx-1.20.1/logs/nginx.pid"
CONF="/home/account/nginx-1.20.1/conf/nginx.conf"
case "$1" in
    start)
        if [ -f $$PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed."
        else
                echo "Starting $PROG..."
                $NGINX -c $CONF
                [ $? -eq 0 ] && touch ${LOCKFILE} sleep 4 && touch ${PIDFILE}
                echo "Done"
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running."
        else
                echo "Stopping $PROG..."
                killall -s QUIT $PROG
                [ $? -eq 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
                sleep 1
                echo "Done"
        fi
        ;;
    status)
        if [ ! -f $PIDFILE ]
        then
            echo "Nginx is not running now!"
        else
            echo "Nginx is running now!"
        fi
        ;;
    restart)
      if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running."
        else
                echo "Stopping $PROG..."
                killall -s QUIT $PROG
                [ $? -eq 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
                sleep 1
                echo "Done"
        fi
        
        
        
         if [ -f $$PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed."
        else
                echo "Starting $PROG..."
                $NGINX -c $CONF
                [ $? -eq 0 ] && touch ${LOCKFILE} sleep 4 && touch ${PIDFILE}
                echo "Done"
        fi
        ;;
    reload)
        echo "Reloading $PROG..."
        killall -s HUP $PROG
        ;;
    *)
        echo "Usage: {start|stop|status|restart|reload}"
        exit 2
        ;;
esac
赋予权限 
chmod 777 reload.sh
替换空格命令
sed -i 's/\r$//' reload.sh
linux下运行命令 crontab -e 
执行 00 08 * * *  sh /home/account/nginx-1.20.1/reload.sh restart
保存退出   :wq
每天8点自动执行重启脚本

 

标签:crontab,echo,nginx,running,&&,linux,PROG,PIDFILE
来源: https://www.cnblogs.com/pijunqi/p/15735823.html