Help with .sh script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with .sh script
# 1  
Old 08-27-2013
Help with .sh script

Hi there, simple one hopefully....

I have a crontab entry that uses a .sh file. The .sh file essentially runs some mysql, writes the results to a text file and then emails it to specified emails.

Currently this works, but will email even if there are no results returned in the query. Is there a way to amend the .sh to take into considersation no results and therefore not sent the email?

Many thanks
# 2  
Old 08-27-2013
Yes, you can amend the script to verify the text file where results are written after calling the SQL. If the text file is empty you can skip sending the email and simply exit.
# 3  
Old 08-27-2013
Thanks for the reply Kirshmaths, ok will take a look at doing that and maybe verify on here what I have found before I try it! cheers

---------- Post updated at 10:31 AM ---------- Previous update was at 10:18 AM ----------
....

---------- Post updated at 11:08 AM ---------- Previous update was at 10:31 AM ----------

Ok, so would this work? Sorry, I am new to this:

Code:
 
mysql -Database -e "QUERY HERE" > /var/cron/result/result.txt
$FILE=/var/cron/result/result.txt
if [[ -s $FILE]]; then
cat /var/cron/result/result.txt | mail -s "Report" email@email.com
else 
:


Last edited by traxdata12; 08-27-2013 at 07:07 AM..
# 4  
Old 08-27-2013
Made a few corrections:

1. While setting a variable do not use $ (line 1).
2. Space is important in the test expression to be evaluated. Note that I have inserted a space between $FILE and ]]

Code:
FILE=/var/cron/result/result.txt
mysql -Database -e "QUERY HERE" > $FILE
if [[ -s $FILE ]]; then
cat /var/cron/result/result.txt | mail -s "Report" email@email.com
else 
:

# 5  
Old 08-27-2013
excellent, that worked. spot on, thanks.
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