Visit Our UNIX and Linux User Community


script to mail monitoring output if required or redirect output to log file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting script to mail monitoring output if required or redirect output to log file
# 1  
Old 10-22-2012
script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions.

Quote:
==== WPAR Status Check =====
====== MMDDYYYY HH:MM ======

**** WPAR state Active:
usprd02 usprd03

2 WPARs are in A-Active State

**** WPAR state Defined/Transition/Broken:
usprd04 usprd05 usprd06

3 WPARs are in D-Defined/T-Transition/B-Broken State
Code:
 lpar-command | awk '
/^Name/ { next; }
/^---/ { next; }
{
    state[$2] = state[$2] $1 " ";
    if( $2 == "A" )
        acount++;
    else
        others++;
}
END {
printf( "==== WPAR Status Check =====\n" );
printf( "==== %s ====\n", date );
printf( "**** WPAR state Active:\n\t%s\n", state["A"] );
printf( "\t%d WPAR state A-Active\n\n", acount );
printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
printf( "\t%d WPARs are in D-Defined/T-Transition/B-Broken state\n", others );
}
' date="$(date)" |mail-command

# 2  
Old 10-22-2012
try:
Code:
 
 lpar-command | awk '
/^Name/ { next; }
/^---/ { next; }
{
    state[$2] = state[$2] $1 " ";
    if( $2 == "A" )
        acount++;
    else
        others++;
}
END {
if (state["D"] ~ /./ || state["T"] ~ /./ || state["B"] ~ /./) {
  printf( "==== WPAR Status Check =====\n" );
  printf( "==== %s ====\n", date );
  printf( "**** WPAR state Active:\n\t%s\n", state["A"] );
  printf( "\t%d WPAR state A-Active\n\n", acount );
  printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
  printf( "\t%d WPARs are in D-Defined/T-Transition/B-Broken state\n", others );
}
}
' date="$(date)" > temporary_log_file
[[ -s "temporary_log_file" ]] && cat temporary_log_file | mail-command

This User Gave Thanks to rdrtx1 For This Post:
# 3  
Old 10-22-2012
Thanks rdrtx1, Is there possibility that log does not gets over-written, each time script runs.

Its over writting the log file, I want to keep all generated output till atleast 1 week.
# 4  
Old 10-22-2012
Try: add to the top of script:
Code:
find ./ \( -name . -o -prune \) -type f -mtime -7 -name temporary_log_file -exec rm -f {} \;

then add change to line:
Code:
' date="$(date)" >> temporary_log_file

This User Gave Thanks to rdrtx1 For This Post:
# 5  
Old 10-22-2012
works perfect..

Thanks

Previous Thread | Next Thread
Test Your Knowledge in Computers #535
Difficulty: Medium
In C, the Boolean type false is associated with zero while any non-zero value is associated with true.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Required formatted output on mail for disk utilization

Hi Experts, Could you pls help with below query I have written below script to capture disk utilization and then send the output on mail. But getting unformated output on mail #!/bin/bash echo "Hi Sur,">dfoutput.csv printf '\n' >>dfoutput.csv echo "Please find BAYSQUAR2 filesystem... (4 Replies)
Discussion started by: as7951
4 Replies

2. Shell Programming and Scripting

Redirect script output to file after grep

i have simple program that generate log file 1 line every sec, i need to do grep for specific record then redirect to another file. #!/bin/bash for i in `seq 1 20`; do echo $i sleep 1 done ./test.sh |egrep "5|10|15" 5 10 15 r ./test.sh... (2 Replies)
Discussion started by: before4
2 Replies

3. UNIX for Dummies Questions & Answers

[Solved] How to Redirect Output To Log File?

I have the below script, but when i execute it is still printing to screen is there a way i can stop this and just print everything to the log file. Thank you. #!/bin/bash exec > >(tee "/var/log/ScriptLogs/called_from_incrontab.log") 2>&1 DIR="$1" FILE="$2" echo "STEP 1: Datafile... (5 Replies)
Discussion started by: Ariean
5 Replies

4. Shell Programming and Scripting

Redirect script output to a file and mail the output

Hi Guys, I want to redirect the output of 3 scripts to a file and then mail the output of those three scripts. I used below but it is not working: OFILE=/home/home1/report1 echo "report1 details" > $OFILE =/home/home1/1.sh > $OFILE echo... (7 Replies)
Discussion started by: Vivekit82
7 Replies

5. Programming

How to redirect the output of a shell script to a file?

hi, i have a html form which call a perl program, this perl program calls a shell script. <html> <head> <title>demo</title> </head> <body> <form name="frm1" action="/cgi-bin/perl_script.pl" method="post"> <input type="text" name="fname"> ... (1 Reply)
Discussion started by: Little
1 Replies

6. Shell Programming and Scripting

Redirect an output from a script to a file and display it at a console simultaneously

Hi, I'd like to redirect the STDOUT output from my script to a file and simultaneously display it at a console. I've tried this command: myscript.sh | tail -f However, it doesn't end after the script finishes running I've also tried this: myscript.sh | tee ~/results.txt But it writes... (3 Replies)
Discussion started by: wenclu
3 Replies

7. Shell Programming and Scripting

how to redirect the output of a grep command to a file inside a shell script

hi, i wat to get the output of a grep command in a file. but when i am trying out the same grep command in the unix prompt its working fine.. i am getting the output properly.. but when i am writing the same command inside my shell script , its just creating a new output file with no contents... (11 Replies)
Discussion started by: kripssmart
11 Replies

8. Shell Programming and Scripting

Cronjob - Redirect mail output to file, LINES & COLUMNS

I currently have an expect script that issues the 'mail' command and sends an 'x' when it receives the & prompt from mail to quit. The expect script is able to do stty rows 100 columns 200 < $spawn_out(slave,name) to set up the number of columns and rows. I would like to get rid of the expect... (0 Replies)
Discussion started by: jharvey
0 Replies

9. Shell Programming and Scripting

redirect only the standard error output to mail

I'm writing a script using file descriptor 2 (std error) to send an email only if the command fails or errors out but the script always emails me irrepective of whether it fails or not. It will not email the /tmp/check.error file output if doesn't error out just the mail with the subject "Cannot... (3 Replies)
Discussion started by: barkath
3 Replies

10. Shell Programming and Scripting

redirect output to log file

hello all, I'm invoking the program generate-report using backticks from my perl program and redirecting the output to the log file sge-stderr.log. But when i check the process using ps command it is spawing two processes where the below code is parent process and the program generate-report as... (2 Replies)
Discussion started by: kalyanraj
2 Replies

Featured Tech Videos