Help me on a script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help me on a script
# 1  
Old 06-14-2013
Help me on a script

I have requirement as below:

I need to check the file has reached the server. If the file has reached it shall send a mail that file reached. For this i have used this script:
Code:
ssh username@server 'while [ ! -f path/file.txt ]
do
  sleep 60
done
echo " File has arrived.Please run the load  " | mailx -s "  File arrived " "<emailid> " '.

But i have an additional requirement. If the file has not reached the server for the day then it should come out of the loop and send me a mail that file has not reached server.I am not getting any idea how to end the loop.
Consider the cut off time as 11:30 pm.

Last edited by Scott; 06-14-2013 at 08:29 AM.. Reason: Please use code tags and use a descriptive subject for your threads
# 2  
Old 06-14-2013
Two thoughts

1. Know how long you want to try to run this for. You are waiting, so convert this to how many times it should try - maybe 120 - with a counter, and exit out of loop when the counter reaches that number.
2. while in the loop, read the time and determine if the time is after your cut-off time.
This User Gave Thanks to joeyg For This Post:
# 3  
Old 06-14-2013
Hi joeyg,

Its that if i know the iteration number than i can break the loop.For example:If i scheduled my script at 6 pm and the cuttoff time is 11pm and sleep time is 60 secs,so 5 hrs it is going to check and run. considering a variable with the iteration number (here it will be 5*3600=18000 secs;18000/60=300) is 300.so it shall check till it has reached 300. I guess i can proceed in this way. Please give ur thought if u have any other way round.
# 4  
Old 06-14-2013
You could try something like:
Code:
ssh username@server 'while [ ! -f path/file.txt ]
do
        if [ $(date +%H%M) -ge 2330 ]
        then    echo "File did not arrive today" |
                        mailx -s "File did not arrive" emailid
                exit 1
        fi
        sleep 60
done
echo " File has arrived.Please run the load  " | mailx -s "  File arrived " "<emailid> " '

These 2 Users Gave Thanks to Don Cragun For This Post:
# 5  
Old 06-14-2013
Thanks Don. It worked!!!!
Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question