| #!/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 |