Script to restart a process


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script to restart a process
# 1  
Old 12-08-2011
Script to restart a process

I have written a script which checks for a file if that is being updated or not. If the files is not being updated then it will restart the process.

Code:
#!/bin/sh

DATE=`date +%Y%m%d%H%M%S`
LOG_FILE=/var/xmp/log/XMP_*
INCEPT=`ls -l $LOG_FILE |awk '{print $5}'`
PROC=`xms show pr |grep -i INTERCEPT |awk '{print $1}' |grep $(hostname)`

if [ $INCEPT -gt 0 ]; then
    echo " log files are working fine !!! "
fi

sleep 30

if [ $INCEPT -gt 0 ]; then
    echo " log files are working fine !!! "
elif
    echo " log files are not working, Please Check immeiately "

printf "*****  XMP Application Alert System  *****\n\nHost: `hostname` \n\nHost_Address: \n\nInfo: Interceptor Freezed \n\nDATE:`date` \n\n" | /bin/mail -s "Host `hostname` --INTERCEPT MANAGER is freezed, Restarting...Please Check Immeiately " siddhesh.khavnekar@mobixell.com

then #restart interceptor process

`xms restart proc $PROC`

fi

This script works fine, but i have a concern here.
LOG_FILE=/var/xmp/log/XMP_* --> Here there may be 2 fils, and i wish to check the latest file by time.

How do i get this?

-SK
# 2  
Old 12-08-2011
MySQL

you need to change the below statement

Code:
INCEPT=`ls -l $LOG_FILE |awk '{print $5}'`

to

Code:
INCEPT=`ls -ltr $LOG_FILE | tail -1 | awk '{print $5}'`

This will give you the latest updated/created file by time.

Last edited by Kesavan; 12-08-2011 at 02:38 AM.. Reason: Code Tags
# 3  
Old 12-09-2011
Thanks. That worked.

-SK

---------- Post updated 12-09-11 at 09:39 AM ---------- Previous update was 12-08-11 at 12:16 PM ----------

Hi,

In my above script it sends a mail alert if the process is restarted. And the same works perfectly fine. I need a small modication in the script as mentioned below

In my current live systems it anyways sends a snmp alert if a process is restarted.

Can we integrate the same logic in this script? i mean it should send an snmp alert if the process is restarted through script.

Thanks in advance.

-Siddhesh.K
# 4  
Old 12-10-2011
I might be wrong but I see a flaw in your contrôl.

Your contrôl is based on this check :
Code:
if [ $INCEPT -gt 0 ]

$INCEPT being the value of your watched log_file. What happens if the process who feeds your log file crashs? Or if the application fucks up and don't have anything else to feed to your log_file?

Your log file will still be greater than 0 and your script won't detect it.

I was thinking of a similar script for work with the same check on a log file (ls -lrt | awk '{print $5}' )
but instead of checking the current value, I compare the new value to the previous one (just by redirecting old value to random file > old_value) and if it's equal to the previous value => restart.

Something like this

Code:
NEW_VALUE=`ls -lrt $LOG_FILE |awk '{print $5}'`
OLD_VALUE=$(cat /filesystem/scripts/old_value)

if [ $NEW_VALUE = $OLD_VALUE ]
   then
          echo "bla bla, not working"
          # restart process
   else
          echo "Log check ok, incrementing"
          $NEW_VALUE > "/filesystem/scripts/old_value"
fi

Might need a little tweaking or add a count so that it only restarts the process after 2 failed checks or something.


Just an idea anyway.

Last edited by Sekullos; 12-10-2011 at 07:55 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How do i restart a process if it fails?

Hi Guru's, I just want to have an idea on how to restart a particular step when it fails? SCENARIO we have plenty of steps such as the following below: Step 1 copy file from source to target location which is in a different server. Step 2 create initial and incremental process ... (4 Replies)
Discussion started by: reignangel2003
4 Replies

2. Shell Programming and Scripting

Monitor and restart UNIX process

Hi all, Tearing my hair out..! I have a requirement to monitor and restart a unix process via a simple watchdog script. I have the following 3 scripts that dont work for me.. script 1 (only produces 1 output if process is up or not)... (4 Replies)
Discussion started by: jonnyd
4 Replies

3. Shell Programming and Scripting

Script to restart process

HI, I am trying to write a scrip which would restart active process. This is what i have written till now. $ xms show pr PRESE.* NAME STATUS ROLE PID RSTRTS STARTED MACHINE... (8 Replies)
Discussion started by: Siddheshk
8 Replies

4. Emergency UNIX and Linux Support

Check hung process and restart

Hi all I have networker running on a RHEL 5.7 and over time it hangs. So the solution backup team proposed is to check if the process is hung, to stop and start it. Unfortunately for me, the rc script only allows three commands, start, stop and status (no restart option) so I managed to set... (15 Replies)
Discussion started by: hedkandi
15 Replies

5. Shell Programming and Scripting

How to keep process running after apache restart.

I have posted this on the Web subforum but it seems that nobody knows to do this, maybe someone has a solution here. Thank you I have a PHP application that starts a couple of processes on the server...the problem is that if I restart apache those running apps will die. How can I start them... (1 Reply)
Discussion started by: valiadi
1 Replies

6. Web Development

How to keep process running after apache restart.

Hi, I have a PHP application that starts a couple of processes on the server...the problem is that if I restart apache those running apps will die. How can I start them in a way that they are not killed when I restart/stop apache ? $cmdstr = "nohup ".$config."/".$config."... (6 Replies)
Discussion started by: valiadi
6 Replies

7. Shell Programming and Scripting

restart process based on file

Hi all. I do have a script "startApp.sh" (app result is a file /opt/extract/appextract.txt) I have no problems with stopping app var1=`ps -ef | grep -v grep | grep MyApp | awk '{print $2}'` kill -9 $var1 What I want to achieve is: I start app, app is doing some extraction, after... (11 Replies)
Discussion started by: e-l-diablo
11 Replies

8. SuSE

Restart process

I have a process that gradually eats up memory, it's currently at 80.2% and slowing down the linux server > ps aux | grep SNMPME root 3129 0.0 80.2 3591752 2480700 ? Sl Feb13 5:04 /opt/nampe/lib/snmpme/SNMPME config/startup.xml Is there a command I can execute to restart this... (3 Replies)
Discussion started by: brendan76
3 Replies

9. Shell Programming and Scripting

need help to write script to check the process health and automatically restart it

I am working on a project, which need to constantly watch the process, and check its status, if it was dead, it should be restart automatically. Please kindly refer me to URL which teach how to write this kind of script, or service. Thanks. (1 Reply)
Discussion started by: dragondad
1 Replies

10. Shell Programming and Scripting

suspend/restart a process in shell script

Hi, I have a task that Im stuck on. I have an elementary script named 'myscript' that prints "the script is running" once a second. It runs for 27 seconds. I need to write a 2nd script that starts 'myscript' and takes a parameter '$1' for a number. my 2nd script then needs to pause myscript... (1 Reply)
Discussion started by: daneensign
1 Replies
Login or Register to Ask a Question