| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #!/bin/bash
- # info: restart web server
- # options: NONE
- #
- # The function reloads web server configuration.
- #----------------------------------------------------------#
- # Variable&Function #
- #----------------------------------------------------------#
- # Includes
- source $VESTA/func/main.sh
- source $VESTA/conf/vesta.conf
- PATH="$PATH:/usr/local/sbin:/sbin:/usr/sbin:/root/bin"
- send_email_report() {
- email=$(grep CONTACT $VESTA/data/users/admin/user.conf)
- email=$(echo "$email" | cut -f 2 -d "'")
- tmpfile=$(mktemp)
- subj="$(hostname): $WEB_SYSTEM restart failed"
- service $WEB_SYSTEM configtest >> $tmpfile 2>&1
- service $WEB_SYSTEM restart >> $tmpfile 2>&1
- cat $tmpfile |$SENDMAIL -s "$subj" $email
- rm -f $tmpfile
- }
- #----------------------------------------------------------#
- # Action #
- #----------------------------------------------------------#
- # Exit
- if [ "$1" = "no" ]; then
- exit
- fi
- # Schedule restart
- if [ "$1" = 'scheduled' ]; then
- echo "$BIN/$SCRIPT now" >> $VESTA/data/queue/restart.pipe
- exit
- fi
- if [ -z "$1" ] && [ "$SCHEDULED_RESTART" = 'yes' ]; then
- echo "$BIN/$SCRIPT now" >> $VESTA/data/queue/restart.pipe
- exit
- fi
- if [ -z "$WEB_SYSTEM" ] || [ "$WEB_SYSTEM" = 'remote' ]; then
- exit
- fi
- # Reload web system
- service $WEB_SYSTEM reload >/dev/null 2>&1
- rc=$?
- # Workaround for Ubuntu 12.04
- if [ "$WEB_SYSTEM" == 'apache2' ]; then
- pid1='/var/run/apache2.pid'
- pid2='/var/run/apache2/apache2.pid'
- if [ ! -e "$pid1" ] && [ ! -e "$pid2" ]; then
- rc=1
- fi
- fi
- # Resart web system if reload didn't work
- if [ "$rc" -ne 0 ]; then
- service $WEB_SYSTEM restart >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- send_email_report
- check_result $E_RESTART "$WEB_SYSTEM restart failed"
- fi
- fi
- # Update restart queue
- if [ -e "$VESTA/data/queue/restart.pipe" ]; then
- sed -i "/$SCRIPT/d" $VESTA/data/queue/restart.pipe
- fi
- #----------------------------------------------------------#
- # Vesta #
- #----------------------------------------------------------#
- exit
|