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