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