Sponsored Content
Top Forums Shell Programming and Scripting Monitoring a file - Basic Bash Question Post 302414717 by fpmurphy on Tuesday 20th of April 2010 09:49:54 PM
Old 04-20-2010
There are a couple of things wrong with your script. You never decrement the the sleep interval and so never exit the while loop. You also were incorrectly testing the file for changes. See how I have done it below.
Code:
#!/bin/bash

if [[ $# != 2 ]]; then
   echo "enter <file> <time>"
   exit 1
fi

if [[ ! -e $1 ]]; then
   echo "please enter an existing file"
   exit 2
fi

if [[ $2 < 10 ]]; then
   echo "please enter a number higher than 10"
   exit 4
fi

TFILE=/tmp/touchme.$$
touch $TFILE

i=$2
while (( i >= 10 )) ; do
    if [[ $1 -nt $TFILE ]]; then
        echo "file changed"
    else
        echo "file unchanged"
    fi
    sleep $i
    (( --i ))
done

rm $TFILE

exit  0

Finally you need to figure out what you information you want to email to yourself. mail $LOGNAME
does not mail anything.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

basic question

hey...when i type who...what does "pts" field mean??? eg pts 0 etc (1 Reply)
Discussion started by: urwannabefriend
1 Replies

2. UNIX for Dummies Questions & Answers

Really basic question....

Hello all. Let me start off by saying I know a little more then it seems by me asking this question... here goes I have an old 486 box and I want to start messing around with unix. I've been taking classes for 3 or 4 years in c programming in unix, so I am used to the commands and such, but I... (1 Reply)
Discussion started by: robherms
1 Replies

3. Shell Programming and Scripting

Basic bash 'for loop' usage

Hi! I have a simple question about using a for loop. I'm trying to open up all the zip files in the currect directory with ark, but I am getting the error "bash: syntax error near unexpected token `for $i ; do ark $i ; done ; I looked in the info pages for bash, but I can't seem to figure... (2 Replies)
Discussion started by: Orange Stripes
2 Replies

4. UNIX for Dummies Questions & Answers

Basic Unix bash script help

Hello there Been using Unix bash scripting for two days now so am very new to this. I am currently doing a project now and i'm basically making a noughts and crosses game (or tic tac toe). I have created the board using an array. When I try and check to see if the array is empty using an If... (3 Replies)
Discussion started by: ChrisHoogie
3 Replies

5. Solaris

basic question on sd.conf and lpc.conf file

Hello Guys, Do we need to configure this file only if we add SAN disk or even if we add local disk, do we need to modify? (4 Replies)
Discussion started by: mokkan
4 Replies

6. UNIX for Dummies Questions & Answers

Basic file processing question

I have a csv file with 3 columns. Column 1 is a date "mm/dd/yyyy", column 2 is a dollar amount (e.g. "100.00") & column 3 in a description of where the transaction took place (e.g. "CHECK CRD PURCHASE 10/07 ACME INC USA") so... "10/01/2009","100.00", "CHECK CRD PURCHASE 10/07 ACME INC USA" I... (1 Reply)
Discussion started by: watingo
1 Replies

7. Shell Programming and Scripting

Basic line reading and file merge question

No doubt these questions have been answered many times, but I struggled to find them - sorry. 2 questions: 1. I wish to read in a file one line at a time and do 'stuff' with it, such as: file="tst2" while IFS= read -r line do echo `wget -qO -... (3 Replies)
Discussion started by: Golpette
3 Replies

8. Shell Programming and Scripting

Basic bash, echo in loop for

Hi, I am trying to make a script to manage log. I want to write the name of the .gz I moved and the date : for i in `ls $replog/*.gz` do echo " $i " `echo $i date +%d:%m:%Y` `echo $datee `>> $replog/mrnet.log mv $i /var/log/vieux-logs done I need to echo... (10 Replies)
Discussion started by: Dabless
10 Replies

9. Shell Programming and Scripting

Help in making a basic bash script

Hi All, I am trying to monitor CPU load of few processes, with the same name. The output that I get from top is the following 28171 root 20 0 1089m 21m 3608 S 103 0.3 15:16.89 /opt/ppp//h264rtptranscoder.bin --videoPort=14504 --audioPort=14505 27589 root 20 0 1060m 23m... (3 Replies)
Discussion started by: liviusbr
3 Replies

10. Solaris

Basic question regarding root file system copy to another disk

Hello, I am creating a new disk using the following command: dd if=/dev/zero of=/export/home/ramdisk/0 bs=512 count=4096k after creating the disk, i tool a ufsdump of a solaris 10 filesytem (disk size 512MB) ufsdump -cvf /export/home/ufsdump/sol_orig /and then restored the dump files onto... (10 Replies)
Discussion started by: Zam_1234
10 Replies
esmd(1M)																  esmd(1M)

NAME
esmd - Essential Services Monitor (ESM) Daemon SYNOPSIS
retry_seconds] DESCRIPTION
The Essential Services Monitor (ESM) daemon, maintains the availability of essential system daemons by automatically restarting them if they terminate. The ESM daemon monitors the Event Manager daemon, The ESM daemon is started by the init process when the system is ini- tialized to run level 2 and continues to run until the system is shut down or returned to single user mode. Only one instance of can run at a time. Configuration information is sent to the ESM daemon by a control program, which is run at key points in the startup and shutdown proce- dures. As startup or shutdown progresses, the control program updates the ESM state file, The control program then signals the daemon to reconfigure itself. On startup, state transitions occur after has started. On shutdown, transitions occur after each of these monitored daemons has termi- nated. After each transition, the ESM daemon determines which of the monitored daemons should be running and adjusts its monitoring activ- ities accordingly. The ESM daemon reports all state change information, including notice of failures and restarts, through the system logging daemon, syslogd. Messages are displayed on the system console during periods when syslogd is not running. See syslogd(1M) for more information. If the ESM daemon fails to restart a monitored daemon, it reports the error by posting a high priority message through syslogd, and makes no further restart attempts. The system administrator should investigate the problem and restart the failed daemon. The ESM daemon peri- odically attempts to resume monitoring of the daemon, and posts an informational message when it succeeds. If the monitored daemon fails again once monitoring has resumed, the ESM daemon again attempts to restart it. The ESM daemon can be forced to restart a failed daemon by sending a SIGHUP signal to the process. If there is a need to temporarily disable the ESM daemon for test purposes, in order to prevent the monitored daemons from being restarted automatically, send a SIGSTOP signal to the process. To reactivate the ESM daemon, send a SIGCONT signal to the process. The ESM daemon should never be disabled on a production system. If the ESM daemon is terminated unexpectedly, it is restarted automatically by init. Options The command recognizes the following options: Limit the priority of any syslog messages posted by the ESM daemon to "alert." If this option is not specified, posts an "emergency" message if it cannot restart a failed daemon. A message may be sent to all users currently logged in to the system. The option should only be used if the system administrator is actively monitoring syslogd messages. Specify the interval between attempts to begin monitoring a daemon that has failed, and which has been unable to restart automatically. The default period is 30 seconds. Specifying a period of zero disables retrying. Notes To use the start options, you must add them to the startup command in the file. The daemon reports any invalid start options with a single generic message through syslogd. Restrictions The daemon terminates with an error message if it is started by any process other than init. The /sbin/init.d/esm program is intended to be run by the system startup and shutdown process and should not be run from the command line. Only one instance of can run at a time. RETURN VALUE
The following exit values are returned: 0 (Zero) Successful completion. not 0 An error occurred. FILES
Executable file Configuration control script Initialization process control file dispatched by boot init Monitoring state file Receives esmd status messages AUTHOR
was developed by Hewlett Packard Company. SEE ALSO
Commands kill(1), evmd(1M), init(1M), syslogd(1M). Files inittab(4). esmd(1M)
All times are GMT -4. The time now is 04:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy