How to restart daemon service if found not running?
How to check for service at regular time interval?
How to send notification from terminal?
How to find PID of daemon?
How to have a heartbeat-like checking of service?
How to create a script that checks for linux service?
This blog entry serves as a basic start for creating bash shell scripts that checks daemonized linux service regularly.
A real quick bash script on how to check postfix and sendmail daemon service every 5 minutes.
The below example checks sendmail damon service as an example. All lines that start with # character are bash comments for clarity.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#! /bin/bash
PATH=$PATH:/usr/bin:/bin
# fetch system date below
date=`date "+%A %m-%d-%Y %r"`
# we use pidof to get the daemon PID
# we use awk to get the first child PID only for possible daemon children thread
ayos=`/sbin/pidof sendmail | awk '{ print $1}'`
# if PID has a value greater than 0 then the service is alive then
if [ $ayos > 0 ] ; then
# everything is OK
echo service is alive
exit 0
fi
# goes here if there is no existing PIDs, thus we need to restart it
# and sends email notification to admins
if [ $ayos = 0 ]; then
echo Dead, starting sendmail daemon service now...
# SERVICE RESTARTS SHOULD COME FIRST BEFORE SENDING OUT ANY EMAIL NOTIFICATIONS
# (thx to srineer)
/sbin/service sendmail restart
echo "Restarted at $date" | mail -s "sendmail from server restarted" youremail@yourdomain.com
fi
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can execute this script from command line or from crontab jobs. Crontab jobs sample can be from this link. Adding it to crontab jobs like so
# */5 * * * * /root/myscripts/check_service.sh > /dev/null 2>&1
Make sure the scripts is root executable like so
# chmod 700 check_service.sh
and you're good to go.
Alternatively, this can modified further to fit other daemon services like postfix, dovecot, apache, mysql, spamassassin, mailscanner, antivirus, bind DNS, radius, and other daemon services that make use of PIDs!
HTH
Subscription
Categories
- HowTos (612)
- Linux Devices (40)
- Linux Diggs (620)
- Linux News (1541)
- Linux Videos (24)
Recent Posts
Blog Archive
-
▼
2007
(340)
-
▼
August
(95)
- KCron - GUI task scheduler
- Linux backups powered by Tar
- INQ7 front page image retrieval
- using wget for data and file transfers
- BibleTime - Bible study from Linux howto
- human readable DVD/CD drive technical details
- sound-juicer - alternative audio CD ripper install
- Stellarium - watch the sky from Linux
- Munin - monitor linux hosts install howto
- blocking yahoo chat messenger
- string manipulation using cut linux command
- graphing skystream DVB receiver's Eb/No and signal...
- BZFlag - 3D multi-player tank game install howto
- screenshot and snapshot creations howtos
- string parsing using bash
- grep multiple character from string or file
- enable and disable of telnet service
- grep multiple strings from a file
- remove spaces from filenames
- ISO creation and CD/DVD burning from terminal
- send a message to user's terminal
- retrieve GMail emails via terminal using fetchmail
- more of activating and deactivating network card
- set new mysql password
- TIP: enable thumbnail display images from apache
- monitor large mailbox users
- using the linux yes command
- string manipulation using tr linux command
- install and play 2D chess game in linux
- more firefox tips and tricks
- recover root password on linux
- establish ssh connection from different port
- uniq linux command
- remove blank lines using grep or sed
- date and time sync via NTP server howto
- who am I
- delete spam email and folder regularly howto
- hello world bash and perl script
- passwordless rdesktop session with XP howto
- force VGA screen resolution and screen mode
- RealPlayer 10 for linux install howto
- Grip - CD ripper install howto
- Banshee - music management and playback
- gnome music applet install howto
- Pirut and yum-updatesd - software management
- Alacarte - editing panel menus install howto
- access NTFS drive in Fedora
- FileLight - graphical disk usage and statistics
- TestDisk- partition tool install howto
- using /dev/null in linux terminal
- yahoo messenger in fedora install howto
- check and repair MS-DOS file systems howto
- using fdformat and mkdosfs from terminal
- Tremulous - Quake 3 install howto
- block consecutive IP address using scripts
- using floppy linux command from terminal
- display word or text file in reversed pattern
- convert a file to equivalent hex/binary code
- spell check text file from terminal
- create screen timer from linux howto
- recreate deleted /dev/null
- harddisk monitoring using smartctl
- bind ssh to selected IP address
- restrict su command to superuser only
- thunderbird install howto
- dovecot POP3/POP3S server with SSL/TLS install howto
- qpopper POP3 server install howto
- my other linux pages
- more ssh log parsing and monitoring
- checking daemon service bash script
- HTML CHM help file viewer install howto
- du - the disk usage linux command howto
- gnome language translator install howto
- display linux memory information howto
- display the number of processor howto
- 3d tabletennis game install howto
- Nokia N70 on Fedora via USB data cable
- Fedora 7 as guest host from VirtualBox
- at - jobs scheduling howto
- Nokia 70 linux connection via bluetooth dongle howto
- crontab - jobs scheduling howto
- managing daemon services howto
- create your own linux OS distro howto
- kernel devel headers install howto
- more multimedia browser plugins install howto
- numlock on with X install howto
- Fedora and RHEL differences
- create virtual terminals with single ssh connection
- virtual CentOS using VMWare 5.5.4 install howto
- VMware workstation 5.5.4 install howto
- 50 quick linux command tips part 4
- 5 SysAds permanent static route story
- ssh log parsing and monitoring
- removable drives, devices and media preferences
- gnome-blog desktop blogging install howto
-
▼
August
(95)
Sunday, August 12, 2007
checking daemon service bash script
Subscribe to:
Post Comments (Atom)
ILoveTux - howtos and news | About | Contact | TOS | Policy
0 comments:
Post a Comment