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
