From: Duane Hill (no email)
Date: Fri Aug 22 2008 - 11:52:24 EDT
On Fri, 22 Aug 2008, Raymond Jette wrote:
>
> Good morning,
>
> The following is in my main.cf file:
>
> Relay_recipient_maps = hash:/etc/postfix/relay_recipients,
> Hash:/etc/postfix/relay_recipients_oldmailsystem
>
> This is working good. The problem I am having is using a cron job to schedule a rebuild of the relay_recipients. This list contains my Exchange users. I
> have following the documentation on Postfix?s site with no luck.
>
> I have a file called update_relay_recipients.sh. This file contains the following:
>
> #!/bin/sh
> cd /etc/postfix ; ./getadsmtp.pl && postmap relay_recipients
>
> This work if I run it by itself.
>
> I have the following setup by running sudo crontab ?e
>
> 1,30 * * * * cd /etc/postfix ; ./update_relay_recipients.sh
>
> This job runs but never works. The relay_recipients file gets updated but the postmap command is never run.
>
> Following are my cron.log file entry for this job:
>
> Aug 22 11:30:01 mx1 /USR/SBIN/CRON[9722]: (root) CMD (cd /etc/postfix ; ./update_relay_recipients.sh)
>
> Any ideas what could be going on? Thanks in advance for any help you may provide.
It would be my guess your crontab can not find 'postmap' because it isn't
in environment's PATH. On FreeBSD, 'man 5 crontab' shows PATH is set to
/usr/bin and /bin. In FreeBSD, postmap lives in /usr/local/sbin if
installed via the ports tree. Therefore, the script would not be able to
find 'postmap'. However, if I were to add to the top of the crontab:
PATH=/usr/bin:/bin:/usr/local/sbin
the script would be able to find 'postmap'.
Otherwise, in your script, if you use an absolute path to where 'postmap'
lives, it should work.
-d
|
|
|