#!/bin/sh # # Legacy action script for "service nginx upgrade" # Source function library. [ -f /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions if [ -f /etc/sysconfig/nginx ]; then . /etc/sysconfig/nginx fi prog=nginx nginx=/usr/sbin/nginx conffile=/etc/nginx/nginx.conf pidfile=`/usr/bin/systemctl show -p PIDFile nginx.service | sed 's/^PIDFile=//' | tr ' ' '\n'` SLEEPSEC=${SLEEPSEC:-1} UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS:-5} oldbinpidfile=${pidfile}.oldbin ${nginx} -t -c ${conffile} -q || return 6 echo -n $"Starting new master $prog: " killproc -p ${pidfile} ${prog} -USR2 echo for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do /bin/sleep $SLEEPSEC if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then echo -n $"Graceful shutdown of old $prog: " killproc -p ${oldbinpidfile} ${prog} -QUIT echo exit 0 fi done echo $"Upgrade failed!" exit 1