From a bash shell it works and i receive an email as per the script however when run from crontab it does not work. Can anyone explain why and how to fix it?
/usr/bin/syslogMailer
Code:
#!/bin/bash
# syslogMailer: a script to read stdin and turn each line into an alert
# email typically this is used to read a named-pipe written to by syslog
#
# example usage: syslogMailer < /etc/syslog.pipes/criticalMessages
#
alertRecipient="alerts@example.com" # the mail recipient for alerts
sender="admininstrator@example.net" # the mail sender
TMOUT=1 # don't wait > 1 second for input
# process each line of input and produce an alert email
cat <<EOF | sendmail -t -oi
To: ${alertRecipient}
Reply-to: ${sender}
From: ${sender}
Subject: "critical error on syslog"
$(while read line
do
# remove any repeated messages
echo ${line} | grep "message repeated" > /dev/null 2>&1
if test $? -eq 1
then
# output the alerts
echo "${line}"
fi
done)
EOF
crontab -e
Code:
# m h dom mon dow command
0-59/5 * * * * /usr/bin/syslogMailer < /etc/syslog.pipes/criticalMessages > /dev/null 2>&1
Hi
Im very new at working with unix and this problem I simply can not understand. I know there are a lot of threads about problems with shell scripts behaving differently when run from a terminal and from a cronjob. I have tried everything(almost) but I still havent cracked this problem.
Im... (15 Replies)
Hi Folks,
Could you please suggest me how to run a shell script on a solaris env without using crontab. I am actually trying to write a shell script which will grep "WORD" in the logfile andd sends a email.Thanks in advance.
Thanks
Sandeep. (3 Replies)
I am using Solaris 9. I wish to run my script every 1 minute inteval. Though i can run it using below entry in crontab.
* * * * /export/home/username/script/file_exist_&_run.sh
in short above script will check whether a specific file exist in a directory. If it found it will inovke another... (10 Replies)
hi i have a script called test.sh. the content is ls >> crontest.txt.
if i run manually it's giving output.but if i scheduled in crontab it's not giving output.
crontab entry:
02 * * * * /sms5/SMSHOME/eds_sh/test.sh >> /sms5/SMSHOME/eds_sh/testfile/logfile 2>&1
I am using ksh.is there... (2 Replies)
Hi,
I have a ksh script that runs as root ans issues several commands as a user differente from root as 'su <user> -c "command" ' . It works fine except for one step where the command executes sql statements. That command fails with ORA-20000.
Now the strangest thing, if I place a read command... (5 Replies)
Hi,
My script runs fine from the command line, but when crontab tries to launch it encounters lack of permissions:
could not open /dev/kbd to get keyboard type US keyboard assumed
could not get keyboard type US keyboard assumed
split: Permission denied
This is the head of the script:
... (2 Replies)
Hello all,
I'm trying to write a script to gather and send data and it works just fine at the bash command line, but when executing from CRON, it does not run properly.
My scripting skills are pretty limited and there's probably a better way, but as I said it works at the command line, but... (12 Replies)
The following bash script fails with error message: "./phpquery_KNBB_html_reader.sh: line 65: syntax error near unexpected token `done'" when do ./<scriptname> in the shell. However when I copy-paste the entire contents of the file directly into a shell environment it runs ok returning the intended... (2 Replies)
I wish to replace "\\n" with a single white space.
The below does the job on command-line:
$ echo '/fin/app/scripts\\n/fin/app/01/sql' | sed -e 's#\\\\n# #g';
/fin/app/scripts /fin/app/01/sql
However, when i have the same code to a shell script it is not able to get me the same output:... (8 Replies)
Discussion started by: mohtashims
8 Replies
LEARN ABOUT OPENDARWIN
exicyclog
EXICYCLOG(8) System Manager's Manual EXICYCLOG(8)NAME
exicyclog - Cycle exim's logfiles
SYNOPSIS
eximcyclog
DESCRIPTION
The exicyclog script can be used to cycle (rotate) mainlog and rejectlog files. This is not necessary if only syslog is being used. Some
operating systems have their own standard mechanisms for log cycling, and these can be used instead of exicyclog if preferred.
Each time exicyclog is run the file names get 'shuffled down' by one. If the main log file name is mainlog (the default) then when exicy-
clog is run mainlog becomes mainlog.01, the previous mainlog.01 becomes mainlog.02 and so on, up to a limit which is set in the script, and
which defaults to 10. Reject logs are handled similarly.
If no mainlog file exists, the script does nothing. Files that 'drop off' the end are deleted. All files with numbers greater than 01 are
compressed, using a compression command which is configured by the COMPRESS_COMMAND setting in Local/Makefile. It is usual to run "exicy-
clog" daily from a root "crontab" entry of the form
1 0 * * * su exim -c /usr/exim/bin/exicyclog
assuming you have used the name 'exim' for the Exim user. You can run exicyclog as root if you wish, but there is no need.
BUGS
This manual page needs a major re-work. If somebody knows better groff than us and has more experience in writing manual pages, any patches
would be greatly appreciated.
SEE ALSO exim(8), /usr/share/doc/exim4-base/
AUTHOR
This manual page was stitched together from spec.txt by Andreas Metzler <ametzler at downhill.at.eu.org>, for the Debian GNU/Linux system
(but may be used by others).
March 26, 2003 EXICYCLOG(8)