First script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting First script
# 1  
Old 07-30-2010
First script

Hello everyone,
I do a script
script to read a log and find the value debug and send a mail to my inbox
This should happen every 5 minutes.
grep -i debug /app/bss/bea-bssalsbdomain/propertie/BSB_logconfig.properties


help me

thanks
# 2  
Old 07-30-2010
You can store whatever is returned by grep command in a variable (say varNAME) then pass that variable to Mail::Sender as below

Code:
#!/usr/bin/perl

sub BEGIN {
        unshift (@INC,'/opt/dev/common/mds/perlLib');
}

use Mail::Sender;

$sender = new Mail::Sender {smtp => 'xxx.xxx.x.xx', from => 'abc@abc.com'};
$sender->MailMsg({to => 'abc@abc.com', subject => 'Your Subject', msg => $varNAME});
$sender->Close;

# 3  
Old 07-30-2010
You need a MTA (Exim, Postfix, ...) installed on your machine to send mails.
Code:
grep -i debug /app/bss/bea-bssalsbdomain/propertie/BSB_logconfig.properties | mail -s 'Subject' mail@address.com

Put this command in an executable script and use cron to get it run every 5 minutes:
Code:
~$ crontab -e
(Edit the file as follow)
*/5 * * * * /complete/path/to/your/script.sh

# 4  
Old 07-30-2010
thanks a lot.
but must send the mail only if DEBUG is.

I believe we must use if

tks
# 5  
Old 07-30-2010
yes. I think you can use something like:

Code:
if [ varNAME -eq ""]

which means varNAME is null which in turn means grep has returned nothing, right?
# 6  
Old 07-30-2010
Code:
#!/bin/sh

OUT=$(grep -i debug /app/bss/bea-bssalsbdomain/propertie/BSB_logconfig.properties)

# $? is the exit status of the last command. grep returns 0 if something was found
if [ $? -eq 0 ]; then
    mail -s 'Subject' mail@address.com << .
${OUT}
.
fi

exit 0

# 7  
Old 07-30-2010
Code:
if [ $? -eq 0 ]

Nice! That's why I keep telling myself I need to practice. I hope I will get better some day 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