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 по дате отправления:

Предыдущее
От: Caleb Meredith
Дата:
Сообщение: Can row level security policies also be implemented for views?
Следующее
От: Oleg Bartunov
Дата:
Сообщение: Re: JSON path wild cards?