вчера в свете экспериментов с удаленным ipfw решил забить в крон его периодическую перезагрузку, дабы не стать лишним подтверждением народной приметы:
Цитата:
эксперименты с удалённым фаерволлом - к дороге.
|
команда на перезапуск ipfw:
Код:
/etc/rc.d/ipfw restart
Её я в cron и загнал. выполнение от рута, все как положено. Но - не работает.
Причем захожу в webmin, в раздел cron, нажимаю на кнопку "выполнить задание принудительно" - работает. А именно из крона - нет. В мыло валится
Цитата:
net.inet.ip.fw.enable: 0 -> 0
net.inet6.ip6.fw.enable: 0 -> 0
kldstat: not found
kldload: not found
/etc/rc.d/ipfw: WARNING: Unable to load kernel module ipfw
|
ipfw глушится, но не запускается.
Совместным мозговым штурмом с
FantomIL нашли-таки грабли:
Права-то пользователя от которого выполняется задание, Cron наследует, а вот его ENV и, в частности PATH - нет.
Таким образом, данную ситуацию спас скрипт:
Код:
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH
/etc/rc.d/ipfw restart
и запуск кроном уже его.
мало ли, может еще кто на эти грабли наступит...