| Home » Categories » Multiple Categories |
How To Use a Simple Bash Script To Restart Server Programs |
|
Article Number: 204 | Rating: Unrated | Last Updated: Tue, Sep 23, 2025 at 11:30 PM
|
To ensure that the most imperative programs remain online as much as
possible (even after a server crash or reboot), one can create a simple
bash script to check if the program is running, and if it is not, to
launch it. By using cron to schedule the script to be executed on a
regular basis, we can make sure that program relaunches whenever it goes
down.
Bash ScriptThe first step in this process is to create the script itself. There are a variety of programs such as upstart, supervisor, and monit, that have the capability to start and monitor applications on a virtual private server in a very nuanced way— this bash script will simply provide an on switch. Below is a sample script that starts apache if it finds it off.nano launch.sh #!/bin/sh
ps auxw | grep apache2 | grep -v grep > /dev/null
if [ $? != 0 ]
then
/etc/init.d/apache2 start > /dev/null
fiOnce you have saved the script, you must give it executable permissions in order to be able to run it:
chmod +x launch.shApache can be replaced with any required application. Should you want to set up the script for a variety of applications, you can create a new script for each one, placing it on its own line in the cron file. Cron SetupWith the script in hand, we need to set up the schedule on which it will run. The cron utility allows us to schedule at what intervals the script should execute. Start by opening up the cron file:crontab -eCron has a detailed explanation of how the timing system works at the beginning. Once you know how often you want the script to run, you can write in the corresponding line. The most often that the script can run in cron is every minute. Should you want to set up such a small increment, you can use this template: * * * * * ~/launch.shEvery five minutes would be set up like this: */5 * * * * ~/launch.sh |
Attachments
There are no attachments for this article.
|
How To Install Nagios On Ubuntu 12.10
Viewed 2878 times since Sat, Jan 4, 2014
How To Install Node.js with NVM (Node Version Manager) on Server
Viewed 4169 times since Sun, Dec 29, 2013
How To Set Up Apache Virtual Hosts on Ubuntu 12.04 LTS
Viewed 3811 times since Mon, Dec 23, 2013
How To Create Nagios Plugins With PHP On Ubuntu 12.10
Viewed 2647 times since Sat, Jan 4, 2014
How To Set Up Apache Virtual Hosts on Debian 7
Viewed 3567 times since Fri, Dec 27, 2013
How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Arch Linux
Viewed 4841 times since Fri, Dec 27, 2013
How To Change Themes and Adjust Settings in Ghost
Viewed 4470 times since Thu, Dec 26, 2013
How To Use SFTP to Securely Transfer Files with a Remote Server
Viewed 6238 times since Thu, Dec 26, 2013
A Comparison of (Rack) Web Servers for Ruby Web Applications
Viewed 8524 times since Mon, Dec 30, 2013
How To Use Traceroute and MTR to Diagnose Network Issues
Viewed 7003 times since Fri, Dec 27, 2013
|
