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点自动执行重启脚本