LINUX.ORG.RU

[FreeBSD] startup script

 


0

0

Суть проблемы - не запускается скрипт после перезапуска машины. ЧЯДНТ?

>cat /usr/local/etc/rc.d/zabbix_agentd.sh
#!/bin/sh

name="zabbix_agentd"
command="/usr/local/bin/zabbix_agentd"
command_args=""
pid_file="/var/run/zabbix/zabbix_agentd.pid"

case "$1" in

start)
echo "Starting ${name}."
sudo -u zabbix ${command} ${command_args}
;;
stop)
echo "Stoping ${name}."
if [ -r $pid_file ]
then
kill `cat $pid_file`
fi
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac

>stat /usr/local/etc/rc.d/zabbix_agentd.sh
77 55241 -rwxr-xr-x 1 root wheel 239511 405 "Nov 27 16:14:05 2008" "Nov 27 15:33:24 2008" "Nov 27 15:33:24 2008" "Nov 2715:33:24 2008" 4096 4 0 /usr/local/etc/rc.d/zabbix_agentd.sh

>cat /etc/rc.conf | grep zabbix
zabbix_agentd_enable="YES"



> cat /usr/local/etc/rc.d/zabbix_agentd.sh

А каталога /etc/rc5.d или /etc/rc.d/rc5.d у тебя там часом нету?

anonymous
()
Ответ на: комментарий от anonymous

>А каталога /etc/rc5.d или /etc/rc.d/rc5.d у тебя там часом нету?

нету.

teferiincub
() автор топика
Ответ на: комментарий от teferiincub

проще можно, надеюсь FreeBSD не древнючка?

#!/bin/sh
# PROVIDE: zabbix_agentd
# REQUIRE: DAEMON
# KEYWORD: shutdown

. /etc/rc.subr

name="zabbix_agentd"
rcvar=${name}_enable
load_rc_config $name
eval : \${${rcvar}='NO'}

command="/usr/local/bin/${name}"
required_files="/usr/local/etc/zabbix/${name}.conf"

run_rc_command "$1"

hizel ★★★★★
()
Ответ на: комментарий от hizel

2 hizel, ещё очень хочется чтобы оно не от рута запускалось, а от zabbix'а

к слову я и так тоже пробовал, но разве оно так проще? Не понятен сам факт того что вроде бы скрипт по хендбуку писан. скрипт простенький, а не запускается как надо.

teferiincub
() автор топика
Ответ на: комментарий от teferiincub

лучше писать по этому руководству
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/rc-scripting/

если надо от zabbix-а, хотя оно вроде по умолчанию так, то добавить zabbix_agentd_user="zabbix"

а оно у вас из коммандной строки запускается?
и почему не воспользоватся вместо sudo su

su zabbix -c '${command} ${command_args}'

hizel ★★★★★
()
Ответ на: комментарий от hizel

О. Ваш вариант работает. похоже я при написании такого же что-то где-то не так написал.

Самое странное что меня раздражало - так это то что из командной строки работало нормально.

За ссылку на то как писать скрипты - спасибо, а то я только хендбуком поьзовался.

teferiincub
() автор топика

зайди в порты, поправь Makefile и добавь патч, оно хотя бы как-то будет структурировано и потом можно будет легко обновить.

phasma ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.