Re: error messages not getting logged when running script from cron
От | Adrian Klaver |
---|---|
Тема | Re: error messages not getting logged when running script from cron |
Дата | |
Msg-id | 5654F1B9.8070207@aklaver.com обсуждение исходный текст |
Ответ на | Re: error messages not getting logged when running script from cron (anj patnaik <patna73@gmail.com>) |
Список | pgsql-general |
On 11/23/2015 04:33 PM, anj patnaik wrote: > I am seeing a bizarre behavior. The command works fine when called > directly from prompt, but when invoked via cron, there is no output nor > mail. > > This works fine: > script 2>&1 | tee /tmp/ff ; mailx -s "email" -myemail@company.com > <mailto:myemail@company.com> < /tmp/ff > > Now, I place the identical line in crontab file and the output file > /tmp/ff does not get generated. Does the script run? Remember cron has a limited environment. In you actual crontab line do you have a complete path to 'script' or is the path in the crontab PATH. To get your above code to run I had to do something like: cat cron_txt.txt 2>&1 | tee /tmp/ff ; mailx -s "email" aklaver </tmp/ff Note, no - before the email address(in this case a local address). If you are doing this locally have yoy though about setting MAILTO in the crontab and let cron do the mailing. Probably have to use pg_restore -v ... if you are not already. > > Inside script, i am running a pg_restore which dumps output to stdout. > The usage of tee is the only way to cause it to go into a file. > > Any idea here? Thanks > > On Mon, Nov 23, 2015 at 3:29 PM, Melvin Davidson <melvin6925@gmail.com > <mailto:melvin6925@gmail.com>> wrote: > > You could also try tweaking the following attached backup script. > Caution, I wrote this quickly from a skeleton script and has not > been tested. > > On Mon, Nov 23, 2015 at 3:21 PM, Tom Lane <tgl@sss.pgh.pa.us > <mailto:tgl@sss.pgh.pa.us>> wrote: > > anj patnaik <patna73@gmail.com <mailto:patna73@gmail.com>> writes: > > My cron tab entry: > > > 0 20 * * * db_backup.sh 1> /dev/null 2>&1 | mail -s "backup cron" > >myemail@comp.com <mailto:myemail@comp.com> > > > I am re-directing stderr to stdout and then sending that to email. > > Uh, read it again: you're redirecting stdout to /dev/null and then > redirecting stderr to go where stdout goes. So all output is > going to the bit bucket, not the pipe. > > regards, tom lane > > > -- > Sent via pgsql-general mailing list > (pgsql-general@postgresql.org <mailto:pgsql-general@postgresql.org>) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > > > > > -- > *Melvin Davidson* > I reserve the right to fantasize. Whether or not you > wish to share my fantasy is entirely up to you. > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: