Sponsored Content
Full Discussion: Monitor a file and send mail
Top Forums Shell Programming and Scripting Monitor a file and send mail Post 303017072 by Chubler_XL on Tuesday 8th of May 2018 06:42:04 PM
Old 05-08-2018
How about we remember where we are upto in the maillog and only print new stuff.
That way we can sleep for 30mins and the resume checking:

Code:
UPTO=0
MAILFILE=/var/log/maillog
while [ -f "$MAILFILE" ]
do
    FSZ=$(wc -l < "$MAILFILE")

    if [ $FSZ -lt $UPTO ]
    then
        # File has shrunk!
        # most likely been truncated - start from beginning again.
        UPTO=0
    fi

    found=$( awk -v START=$UPTO -v FINISH=$FSZ '
       NR <= START || NR > FINISH { next }
       /status=sent/ || /relay=local/ { next }
       /relay=/ { print }' "$MAILFILE" )

    if [ -z "$found" ]
    then
       # Wait for a minute for maillog to grow a bit
       sleep 60
    else
       echo "$found" | mail -s Test mail@group.com

       # No more emails for 30mins
       sleep 1800

       # If you don't want to be notified about any other
       # occurances within this 30min period uncomment below
       # FSZ=$(wc -l /var/log/"$MAILFILE")
    fi
    UPTO=$FSZ
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Pull E-mail address from file, send e-mail

Hello, I am new to perl and need to create a script that will read a file and pull a name from the file and send e-mail. How can I use the following awk statement in a perl script? grep UNIXadmins /root/mail.conf | awk '{ print $2}' and use the output to send a e-mail. Any help would... (1 Reply)
Discussion started by: DC Heard
1 Replies

2. UNIX for Dummies Questions & Answers

How to send html file in a mail not as an attachment but it should display in the mail in table for

Hi The below script working when we are sending the html as attachment can u please guide how to send thesmae data in table form direct in the mail and not in mail attachment . cat Employee.sql SET VERIFY OFF SET PAGESIZE 200 SET MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP ON - HEAD... (0 Replies)
Discussion started by: mani_isha
0 Replies

3. Emergency UNIX and Linux Support

monitor log entries and send e-mail

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! I am stuck and worried. My assignment was due a day ago and I was too busy completing other assignments due during the same time. I worry that not completing this assignment... (1 Reply)
Discussion started by: vin8465
1 Replies

4. Homework & Coursework Questions

monitor log entries and send e-mail

I am stuck and worried. My assignment was due a day ago and I was too busy completing other assignments due during the same time. I worry that not completing this assignment will fail me. Need urgent help in completing the script asap. I dont want to sound pushy to get the answer but just wanted to... (10 Replies)
Discussion started by: vin8465
10 Replies

5. Shell Programming and Scripting

Monitor log file for a Error and generate the e-mail.

This is my log file and this is live log. Any abnormal error other than following I need to generate the email. Log path : /DER/app/admin/ABC/bdump/erg.log Current log# 2 seq# 103046 mem# 0: /ora2/oradata/ABC/redo02a.log Current log# 2 seq# 103046 mem# 1:... (1 Reply)
Discussion started by: hishanms
1 Replies

6. Shell Programming and Scripting

Looking for shell script to monitor CPU utilization and send mail once exceed 75%

Dear Group, I'm look for shell script to Monitor CPU usage and send mail once it exceed 75% I'm running Suse10.4. (3 Replies)
Discussion started by: clfever
3 Replies

7. Shell Programming and Scripting

Basic script for monitor send mail service

Hi All Need help Can any one share a basic script that is used for monitor sendmail service whether online, offline.etc in solaris Thanks in advance Zimmy (5 Replies)
Discussion started by: zimmyyash
5 Replies

8. Shell Programming and Scripting

Shell script to monitor new file in a directory and mail the file content

Hi I am looking for a help in designing a bash script on linux which can do below:- 1) Look in a specific directory for any new files 2) Mail the content of the new file Appreciate any help Regards Neha (5 Replies)
Discussion started by: neha0785
5 Replies

9. Shell Programming and Scripting

Monitor file if match then send mail

Hi I want to monitor a file even if the file rotate. When a text occurs I want to send a mail. Something like this but it's not working correctly: tail -F mylog.log | grep 'MatchMe' | while read line do echo $(date +"%Y-%m-%d %H:%M:%S") MatchMe occurs | mail -s "MatchMe"... (1 Reply)
Discussion started by: chitech
1 Replies

10. UNIX for Advanced & Expert Users

Client was not authenticated to send anonymous mail during MAIL FROM (in reply to MAIL FROM comm

I am having trouble getting mail to work on a red hat server. At first I was getting this message. Diagnostic-Code: X-Postfix; delivery temporarily suspended: connect to :25: Connection refused Then added the port to my firewall. Then I temporarily turned off selinux. I then copied this file... (1 Reply)
Discussion started by: cokedude
1 Replies
SYSLOG.CONF(5)						      BSD File Formats Manual						    SYSLOG.CONF(5)

NAME
syslog.conf -- syslogd(8) configuration file DESCRIPTION
The syslog.conf file is the configuration file for the syslogd(8) program. It consists of lines with two fields: the selector field which specifies the types of messages and priorities to which the line applies, and an action field which specifies the action to be taken if a message syslogd receives matches the selection criteria. The selector field is separated from the action field by one or more tab charac- ters. The Selectors function are encoded as a facility, a period (``.''), and a level, with no intervening white-space. Both the facility and the level are case insensitive. The facility describes the part of the system generating the message, and is one of the following keywords: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, syslog, user, uucp and local0 through local7. These keywords (with the exception of mark) correspond to the similar ``LOG_'' values specified to the openlog(3) and syslog(3) library routines. The level describes the severity of the message, and is a keyword from the following ordered list (higher to lower): emerg, alert, crit, err, warning, notice, info and debug. These keywords correspond to the similar (LOG_) values specified to the syslog library routine. See syslog(3) for a further descriptions of both the facility and level keywords and their significance. If a received message matches the specified facility and is of the specified level (or a higher level), the action specified in the action field will be taken. Multiple selectors may be specified for a single action by separating them with semicolon (``;'') characters. It is important to note, how- ever, that each selector can modify the ones preceding it. Multiple facilities may be specified for a single level by separating them with comma (``,'') characters. An asterisk (``*'') can be used to specify all facilities or all levels. The special facility ``mark'' receives a message at priority ``info'' every 20 minutes (see syslogd(8)). This is not enabled by a facility field containing an asterisk. The special level ``none'' disables a particular facility. The action field of each line specifies the action to be taken when the selector field selects a message. There are four forms: o A pathname (beginning with a leading slash). Selected messages are appended to the file. o A hostname (preceded by an at (``@'') sign). Selected messages are forwarded to the syslogd program on the named host. o A comma separated list of users. Selected messages are written to those users if they are logged in. o An asterisk. Selected messages are written to all logged-in users. Blank lines and lines whose first non-blank character is a hash (``#'') character are ignored. EXAMPLES
A configuration file might appear as follows: # Log all kernel messages, authentication messages of # level notice or higher and anything of level err or # higher to the console. # Don't log private authentication messages! *.err;kern.*;auth.notice;authpriv.none /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* /var/log/maillog # Everybody gets emergency messages, plus log them on another # machine. *.emerg * *.emerg @arpa.berkeley.edu # Root and Eric get alert and higher messages. *.alert root,eric # Save mail and news errors of level err and higher in a # special file. uucp,news.crit /var/log/spoolerr FILES
/etc/syslog.conf The syslogd(8) configuration file. BUGS
The effects of multiple selectors are sometimes not intuitive. For example ``mail.crit,*.err'' will select ``mail'' facility messages at the level of ``err'' or higher, not at the level of ``crit'' or higher. SEE ALSO
syslog(3), syslogd(8) HISTORY
The syslog.conf file appeared in 4.3BSD, along with syslogd(8). BSD
June 9, 1993 BSD
All times are GMT -4. The time now is 06:46 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy