rollback httpd.conf changes on error

October 26, 2012

To rollback httpd.conf changes on error use this script:


 

#!/bin/bash
#File: deploy_new_httpd_conf.sh
#Define this
PATH_TO_NEW_HTTPD_CONF="~/new_httpd.conf"

#Backup old httpd.conf file
/bin/cp -f /etc/httpd/conf/httpd.conf /root/httpd.conf.bak

#Copy new httpd.conf over the existing one
/bin/cp -f ${PATH_TO_NEW_HTTPD_CONF} /etc/httpd/conf/httpd.conf

#Test the Syntax
/usr/sbin/apachectl -t

if [ $? != 0 ]
then
echo "apache syntax test failed!  Reverting back to old conf file"
/bin/cp /root/httpd.conf.bak /etc/httpd/conf/httpd.conf
exit 1
else
echo "restarting apache on $HOSTNAME"
/usr/sbin/apachectl -k graceful
fi