Enviado em 01/06/2015 - 17:23h
Boa tarde a todos.
Onde trabalho, possuimos um padrão: Se o software é compilado, todos os seus arquivos de configuração tem que ficar em /etc/[nome_programa]/.
O problema é que tenho um software (agente do zabbix) que não estou conseguindo fazer com que seu daemon carregue os arquivos da pasta correta (/etc/zabbix/)
Vi no script próprio para o serviço do zabbix que ele usa o startproc (é uma distro openSuse - também não gosto mas é o que temos kkk).
O zabbix agent é executado assim.
Para carregar da pasta onde quero, a linha de comando fica assim:
Alguém sabe como resolver isso? Propus um simples link simbolico entre /etc/zabbix/zabbix_agentd.conf e /usr/local/etc mas o pessoal da segurança encrencou. Abaixo o script do serviço do zabbix.
Onde trabalho, possuimos um padrão: Se o software é compilado, todos os seus arquivos de configuração tem que ficar em /etc/[nome_programa]/.
O problema é que tenho um software (agente do zabbix) que não estou conseguindo fazer com que seu daemon carregue os arquivos da pasta correta (/etc/zabbix/)
Vi no script próprio para o serviço do zabbix que ele usa o startproc (é uma distro openSuse - também não gosto mas é o que temos kkk).
O zabbix agent é executado assim.
Se nada for expecifica, ele carrega o arquivo de configuração direto da pasta padrão (/usr/local/etc)
/usr/local/sbin/zabbix_agentd
Para carregar da pasta onde quero, a linha de comando fica assim:
/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.confOu seja, no script eu teria que colocar algo assim para inicializar como serviço
startproc -u zabbix /usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.confO problema é que o paramentro "-c" acaba sendo reconhecido como um parametro do comando startproc e não do comando /usr/local/sbin/zabbix_agentd.
Alguém sabe como resolver isso? Propus um simples link simbolico entre /etc/zabbix/zabbix_agentd.conf e /usr/local/etc mas o pessoal da segurança encrencou. Abaixo o script do serviço do zabbix.
. /etc/rc.status
rc_reset
NAME="zabbix_agentd"
X_BIN="/usr/local/sbin/zabbix_agentd -c $ZABBIX_CONF"
ZABBIX_PID="/tmp/zabbix_agentd.pid"
if [ ! -x ${ZABBIX_BIN} ] ; then
echo -n "${ZABBIX_BIN} not installed! "
# Tell the user this has skipped
rc_status -s
exit 5
fi
export PATH=$PATH:/usr/local/sbin
case "$1" in
start)
echo -n "Starting ${NAME} "
checkproc -p ${ZABBIX_PID} ${ZABBIX_BIN}
case $? in
0) echo -n "- Warning: ${NAME} already running! " ;;
1) echo -n "- Warning: ${ZABBIX_PID} exists! " ;;
esac
startproc -p ${ZABBIX_PID} -u zabbix ${ZABBIX_BIN}
rc_status -v
;;
stop)
echo -n "Shutting down ${NAME}"
checkproc -p ${ZABBIX_PID} ${ZABBIX_BIN} || echo -n "- Warning: ${NAME} not running! "
killproc -p ${ZABBIX_PID} -TERM ${ZABBIX_BIN}
rc_status -v
;;
restart)
$0 stop
sleep 10
$0 start
rc_status
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
rc_exit