1. 在/etc/rc.config.d目录下创建zabbixd文件,并增加以下内容:
#!/sbin/sh
# v1.0 ?zabbixd startup/kill config
# ZABBIXD: ? ? ? Set to 1 to start
ZABBIXD=1
2. 在/sbin/init.d目录下将template复制为zabbixd
3. 编辑并修改zabbixd内容如下:
PATH=/usr/local/sbin:/usr/sbin:/usr/bin:/sbin
export PATH
rval=0
set_return() {
x=$?
if [ $x -ne 0 ]; then
echo "EXIT CODE: $x"
fi
}
killproc() {
pid=$(ps -el | awk '( ($NF ~ /'"$1"'/) && ($4 != mypid) && ($5 != mypid) ){ print $4 }' mypid=$$)
if [ "X$pid" != "X" ]; then
if kill $pid; then
echo "$1 stopped!"
else
rval=1
echo "Unable to stop $1"
fi
fi
}
case $1 in
'start_msg')
echo "Starting zabbix daemon"
;;
'stop_msg')
echo "Stopping zabbix daemon"
;;
'start')
if [ -f /etc/rc.config.d/zabbixd ] ; then
. /etc/rc.config.d/zabbixd
else
echo "ERROR: /etc/rc.config.d/zabbixd defaults file MISSING"
fi
if [ "$ZABBIXD" != 1 ]; then
rval=2
else
if /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf ; then
echo "zabbix_agentd started!"
else
echo "ERROR: zabbix_agentd start failed."
fi
fi
;;
'stop')
if [ -f /etc/rc.config.d/zabbixd ] ; then
. /etc/rc.config.d/zabbixd
else
echo "ERROR: /etc/rc.config.d/zabbixd defaults file MISSING"
fi
if [ "$ZABBIXD" != 1 ]; then
rval=2
else
killproc zabbix_agentd
fi
;;
*)
echo "usage: $0 {start|stop}"
rval=1
;;
esac
exit $rval
4. 在/etc/rc3.d目录下创建符号链接
#ln -s /sbin/init.d/zabbixd S900zabbixd
5. 在/etc/rc2.d目录下创建符号链接
#ln -s /sbin/init.d/zabbixd K100zabbixd
6. 运行/sbin/init.d/zabbixd start和/sbin/init.d/zabbixd stop测试效果
注意:如果在执行stop时报错,将killproc函数中kill "$pid"种的双引号去掉即可。