Search Postgresql Archives

Re: error messages not getting logged when running script from cron

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx
<mailto:myemail@xxxxxxxxxxx> < /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@xxxxxxxxx
<mailto:melvin6925@xxxxxxxxx>> 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@xxxxxxxxxxxxx
    <mailto:tgl@xxxxxxxxxxxxx>> wrote:

        anj patnaik <patna73@xxxxxxxxx <mailto:patna73@xxxxxxxxx>> writes:
        > My cron tab entry:

        > 0 20 * * * db_backup.sh 1> /dev/null 2>&1 | mail -s "backup cron"
        >myemail@xxxxxxxx <mailto:myemail@xxxxxxxx>

        > 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@xxxxxxxxxxxxxx <mailto:pgsql-general@xxxxxxxxxxxxxx>)
        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@xxxxxxxxxxx


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux