after upgrade, can't restart apache via cron
Mateusz Guzik
mjguzik at gmail.com
Fri Nov 23 12:04:51 UTC 2012
On Thu, Nov 22, 2012 at 10:17:54PM -0500, Michael W. Lucas wrote:
>
>
> FreeBSD bewilderbeast.blackhelicopters.org 10.0-CURRENT FreeBSD 10.0-CURRENT #15: Thu Nov 8 14:02:45 EST 2012 mwlucas at bewilderbeast.blackhelicopters.org:/usr/obj/usr/src/sys/GENERIC amd64
>
> I can manually restart apache22 with the following /etc/rc.conf entries:
>
> apache22_enable="YES"
> apache22_fib=0
>
> I have a cron entry that restarts apache regularly, to compensate for
> some mysql daftness.
>
> 13 * * * * /usr/local/etc/rc.d/apache22 restart
>
> When this job runs, I get the following email:
>
[..]
> eval: setfib: not found
[..]
>
> If I run /usr/local/etc/rc.d/apache22 restart from the command line, I
> can restart httpd without trouble.
>
As others pointers out already it is a PATH issue, but I don't think
that restoring /usr/sbin in PATH is the answer here.
You should be using service(8) script since it does The Right Thing(tm).
Apache will be started in more-or-less same environment that was used
during boot time. (My personal opinion is that startup scripts should
prepare such environment on their own unless explicitly told otherwise,
and by environment I mean more that 'environment' variables.)
If this is a bug or not I cannot say. /etc/rc.subr contains lines like:
SYSCTL="/sbin/sysctl"
ID="/usr/bin/id"
for few tools, rest is assumed to work with provided PATH.
To sum up, use service(8) and you will be fine.
--
Mateusz Guzik <mjguzik gmail.com>
More information about the freebsd-current
mailing list