Auto Shutdown and Restart Apache HTTPD Service Daemon at Preset Time

The core component of any websites, blogs, web services and web applications is the web server. And Apache is the most popular HTTP server that powers the websites worldwide. It’s important to ensure that the uptime and continuous running of Apache service or daemon on the server, as if HTTPD service is down, your website will be unaccessible to the visitors. Other than using monitoring service, script or utility to check if the HTTPD daemon is up, server administrator also has a choice to restart the Apache service periodically.

Shutdown and restart Apache periodically at specific interval helps to ensure that Apache web service is always running in top notch condition, without effect of possible memory leak and resource hogging by persistent connections. It also ensure that the web sites downtime is limited to the next restart schedule, just in case it’s so unlucky that Apache hangs indefinitely and your monitoring service can’t pick up the incident.

To shutdown and start Apache automatically, we can make use of crontab (or Scheduled Task or Task Scheduler in Windows Server) to schedule the task at the time prefer. Simply edit the cron jobs with a root or whell user, and add in the following line:

m h d m w /usr/local/apache/bin/apachectl restart

Replace m, h, d, m and w with value of your preference, where they represent the following meaning:

m: min (0 – 59)
h: hour (0 – 23)
d: day of month (1 – 31)
m: month (1 – 12)
w: day of week (0 – 6) (Sunday=0)

For variables that you want to happen every time, set it as * (asterisk).

For example, to kill the Apache daemon and start it immediately at 1 AM every night, set the crontab line to:

0 1 * * * /usr/local/apache/bin/apachectl restart

To restart Apache HTTPD service on weekend, such as Sunday 12 noon, use the following cron job:

0 12 * * 0 /usr/local/apache/bin/apachectl restart

You can input “man crontab” to learn more about cron jobs in Linux/Unix/FreeBSD/CentOS. To edit the crontab job list, simply enter “crontab -e” on the shell. Existing crontab will appear on a text editor, such as GNU nano. If this is the case, make the necessary changes, then press “Ctrl-X”, follow by “Y” to save the file, and follow by Enter press to accept the default file name. The new crontab will be installed and in effect immediately.

Note that the path to apachectl may be different on different variant of Unix, Linux or BSD flavors. Use one of the following command to find out where is Apache installed:

find / apachectl | grep apachectl
whereis apachectl

Some Apache may install in /usr/sbin/apachectl, or you can use the httpd or apachectl symbolic links in /etc/rc.d/init.d/apachectl or /etc/rc.d/init.d/httpd.


Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feature has been disabled. To receive notification of latest comments posted, subscribe to My Digital Life Comments RSS feed or register to receive new comments in daily email digest.
Custom Search

New Articles

Incoming Search Terms for the Article

auto restart apache - apache shutdown - shutdown apache - restart apache cron - cron restart service - shutdown httpd - apache -k shutdown - cron job to restart apache - centos autostart httpd - shutdown apache linux - apache daemon - freebsd restart httpd - cron restart apache - cron job restart apache - restart apache unix cron job - restart service apache freebsd - find apachectl - linuz apache shutdown - apache daemon linux - crontab apache restart - linux apache services - memory leak apache windows restart service - script cron job restart apache sunos - Apache restart interval - apache restart cron - ubuntu cron restart apache daily - apache shutdown command - start httpd on freebsd - apache auto restart - cron httpd restart - autostart apache centos - centos auto start service - start httpd service unix - add window schedule task restart apache server - apachectl shutdown - service httpd unix - stop apache centos - add apache service linux - apache httpd service - auto shutdown on centos - Centos auto reboot - cron job apache mysql restart - freebsd shutdown daemons - linux auto start httpd centos - reboot apache centos - apache auto restart ssh - auto shutdown centos - cron apache restart start - Failed to start the "httpd" service. Cannot start/stop/restart service: service "httpd" status is not "running" after command "start" - http daemon - Apache service -