BASH Script

Posted on 2004-09-10
Last Modified: 2013-12-17

I know nothing about bash scripting and need help compiling a script that would automate the  following. (Red-Hat 9)

1. execute a script that we already have in place have in place that analyzes our maillog
2. after the script executes - output to a file...lets say maillog_analysis
3. email that file to admin.
4. I would set this up as a cron job to run at periodic intervals.

Is this possible without too much difficulty.
Question by:jstansley
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
LVL 40

Accepted Solution

jlevie earned 125 total points
ID: 12032262
If I understand your question correctly you'd need a script along the lines of:

# Be nice and set a Subject and From in the mail we'll send to admin
cat >/tmp/maillog_analysis <<EOF
Subject: Mail Log Analysis
From: root@$host

# Execute the maillog analyser script and append the output to /tmp/maillog_analysis
/path-to/analyzer >>/tmp/maillog_analysis
# Mail the result to the admin account
/usr/sbin/sendmail -f root admin </tmp/maillog_analysis

Save that to file (say /usr/local/sbin/do-maillog), edit it to set /path-to/analyzer to the path and name of your script, make it executable (chmod 755 /usr/sbin/do-maillog), and then add a crontab entry via 'crontab -e' as root like:

0 1 * * * /usr/local/sbin/do-maillog

Author Comment

ID: 12034142
Thanks....I'll give this a try and see ifit flies.  Appreciate the help

Author Comment

ID: 12034190
When I execute the file with ./maillogstats.............I get this
: bad interpreter: No such file or directory

Doing something wrong obviously...can you point it out?

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.


Author Comment

ID: 12034593
This may help diagnose the problem.

If I just run bash <filename> it works
LVL 40

Expert Comment

ID: 12039135
": bad interpreter: No such file or directory" sounds like the magic line at the beginning of the script isn't exactly "#!/bin/sh". That line must have no leading or trailing whitespace and must end on only a Unix newline character. If you saved/wrote the script on a windows box and copied it to the server there'll b a carriage return on the line and it won't work.

Author Comment

ID: 12039446
That did it...odd thing now is that the script runs fine from command line but not when set to run as a CRON. Very frustrating.  Here' what the CRON looks like

Thanks for your help

Last login: Sun Sep 12 08:33:51 2004 from
[root@SMM02 root]# crontab -e

30,59 * * * 1-7 /root/maillogstats
LVL 40

Expert Comment

ID: 12040565
If a root job fails it will mail the error report to the owner of the crontab (root in this case). Have you checked root's mail to see what the error is?

Author Comment

ID: 12042827
You have been a tremendous help with this. Thanks. I found that it cannot find open sendmail to mail the results. It is just odd that I can run it manually and not via CRON. I am just getting my feet wet so to speak with LINUX and it's like learning a new language. Thanks again. Now let me see if I can get the script to run via CRON.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Resolve Outlook connectivity issues after moving mailbox to new Exchange 2016 server
The new Gmail Phishing Scam going around is surprising even the savviest of users with its sophisticated techniques.
In this video we show how to create a Distribution Group in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Recipients >>…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question