Sponsored Content
Operating Systems Linux Red Hat "if" and "then" statement is not working in RedHat Post 302489432 by Afi_Linux on Thursday 20th of January 2011 12:25:09 PM
Old 01-20-2011
"if" and "then" statement is not working in RedHat

Dear experts,

I'm trying to write a script to calculate the usage of Log Archive in a directory, so if it gets to a point where the directory size is 60%, then send out an FYI.. email. So if then it reaches to 80%, move the logs from that directory.

I have written the script as follow but I'm getting errors. Your help is really needed and appreciated!

Script:

Code:
#!/bin/csh
set OUTPUTLOG="$HOME/logs/Log_Archive/ORA_Log_Archive.log"
set DATE=`date`
echo "--------------------------------------------------------" >> $OUTPUTLOG
echo "Log_Archive script started at $DATE" >> $OUTPUTLOG
echo "--------------------------------------------------------" >> $OUTPUTLOG
set HOST=`hostname`
set DATE=`date +"%m"-"%d"-"%Y"_"%H":"%M"`
set NUMARCHLOGS=`ls $HOME/xyz | wc -l`
set LOG_ARCH_PERCENT=`df -m $HOME/xyz | grep -v "Filesystem" | awk '{print int(substr($4,0,length($4)-1))}'`
#
echo "There are $NUMARCHLOGS Logs in $HOME/xyz >> $OUTPUTLOG

        if ($LOG_ARCH_PERCENT > 60) then
echo "Log_Arive since it's at $LOG_ARCH_PERCENT" >> $OUTPUTLOG        
mail -s "Subject:Log Archive is at $LOG_ARCH_PERCENT% on $HOST" xyz@xyz.com
endif
 
if ($LOG_ARCH_PERCENT > 80) then
mv $HOME/xyz/* $HOME/xyzbackup >> $OUTPUTLOG
echo "Moving  Log_Arive since it's at $LOG_ARCH_PERCENT" >> $OUTPUTLOG        
mail -s "Subject:Log Archive is moved to a xyzbackup on $HOST" xyz@xyz.com
            endif

Thanks,
Moderator's Comments:
Mod Comment
Please use code tags when posting data and code samples!

Last edited by vgersh99; 01-20-2011 at 01:27 PM.. Reason: code tags, please!
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

3. Shell Programming and Scripting

ps -ef | grep "string1" "string2" " "string3"

Hi all, can any one suggest me the script to grep multiple strings from ps -ef pls correct the below script . its not working/ i want to print OK if all the below process are running in my solaris system. else i want to print NOT OK. bash-3.00$ ps -ef | grep blu lscpusr 48 42 ... (11 Replies)
Discussion started by: steve2216
11 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
Log::Handler::Output::Sendmail(3pm)			User Contributed Perl Documentation		       Log::Handler::Output::Sendmail(3pm)

NAME
Log::Handler::Output::Sendmail - Log messages with sendmail. SYNOPSIS
use Log::Handler::Output::Sendmail; my $email = Log::Handler::Output::Sendmail->new( from => 'bar@foo.example', to => 'foo@bar.example', subject => 'your subject', ); $email->log(message => $message); DESCRIPTION
With this output module it's possible to log messages via "sendmail". METHODS
new() Call "new()" to create a new Log::Handler::Output::Sendmail object. The following options are possible: from The sender address (From). to The receipient address (To). cc Carbon Copy (Cc). bcc Blind Carbon Copy (Bcc) subject The subject of the mail. sender This option is identical with "sendmail -f". header With this options it's possible to set your own header. my $email = Log::Handler::Output::Sendmail->new( from => 'bar@foo.example', to => 'foo@bar.example', header => 'Content-Type: text/plain; charset= UTF-8', ); Or my $email = Log::Handler::Output::Sendmail->new( header => { From => 'bar@foo.example', To => 'foo@bar.example', Subject => 'my subject', 'Content-Type' => text/plain; charset= UTF-8', } ); Or my $email = Log::Handler::Output::Sendmail->new( header => [ 'From: bar@foo.example', 'To: foo@bar.example', 'Subject: my subject', 'Content-Type: text/plain; charset= UTF-8', ] ); sendmail The default is set to "/usr/sbin/sendmail". params Parameters for "sendmail". The default is set to "-t". maxsize Set the maximum size of the buffer in bytes. All messages will be buffered and if "maxsize" is exceeded the buffer is flushed and the messages will be send as email. The default is set to 1048576 bytes. Set 0 if you want no buffering and send a mail for each log message. debug Set 1 if you want to enable debugging. The messages can be fetched with $SIG{__WARN__}. log() Call "log()" if you want to log a message as email. $email->log(message => "this message will be mailed"); If you pass the level then its placed into the subject: $email->log(message => "foo", level => "INFO"); $email->log(message => "bar", level => "ERROR"); $email->log(message => "baz", level => "DEBUG"); The lowest level is used: Subject: ERROR ... You can pass the level with "Log::Handler" by setting message_pattern => '%L' flush() Call "flush()" if you want to flush the buffered messages. validate() Validate a configuration. reload() Reload with a new configuration. errstr() This function returns the last error message. DESTROY
"DESTROY" is defined and called "flush()". PREREQUISITES
Carp Params::Validate EXPORTS
No exports. REPORT BUGS
Please report all bugs to <jschulz.cpan(at)bloonix.de>. If you send me a mail then add Log::Handler into the subject. AUTHOR
Jonny Schulz <jschulz.cpan(at)bloonix.de>. COPYRIGHT
Copyright (C) 2007-2009 by Jonny Schulz. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-11-21 Log::Handler::Output::Sendmail(3pm)
All times are GMT -4. The time now is 10:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy