op-packages/zabbix-config/files/zabbix_agentd.init
github-actions[bot] b86d032e91 🤞 Sync 2026-04-23 06:19:46
2026-04-23 06:19:46 +08:00

94 lines
2.4 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2011 OpenWrt.org
START=60
USE_PROCD=1
PROG=/usr/sbin/zabbix_agentd
CONFIG=/etc/zabbix_agentd.conf
TMP_CONFIG=/tmp/zabbix_agentd.conf
start_service_daemon() {
config_get enabled "$1" enabled
config_get hostname "$1" hostname
config_get server "$1" server
config_get listen_ip "$1" listen_ip
config_get listen_port "$1" listen_port
config_get tls_accept "$1" tls_accept
config_get server_active "$1" server_active
config_get tls_connect "$1" tls_connect
config_get tls_psk_identity "$1" tls_psk_identity
config_get tls_psk_file "$1" tls_psk_file
config_get tls_ca_file "$1" tls_ca_file
config_get tls_cert_file "$1" tls_cert_file
config_get tls_key_file "$1" tls_key_file
[ -f ${CONFIG} ] || return 1
[ "$enabled" = 0 ] && {
echo "service disabled"
return 0
}
[ -z "${server}" -o -z "${hostname}" ] && {
echo "hostname or server are not set"
return 0
}
#FIXME
[ -f ${TMP_CONFIG} ] && rm ${TMP_CONFIG}
touch ${TMP_CONFIG}
server=$(echo ${server} | sed -r 's/[ ]+/,/g')
echo "Server=${server}" >> ${TMP_CONFIG}
echo "Hostname=${hostname}" >> ${TMP_CONFIG}
[ -n "${listen_ip}" ] && echo "ListenIP=${listen_ip}" >> ${TMP_CONFIG}
[ -n "${listen_port}" ] && echo "ListenPort=${listen_port}" >> ${TMP_CONFIG}
[ -n "${tls_accept}" ] && {
tls_accept=$(echo ${tls_accept} | sed -r 's/[ ]+/,/g')
echo "TLSAccept=${tls_accept}" >> ${TMP_CONFIG}
}
[ -n "${server_active}" ] && echo "ServerActive=${server_active}" >> ${TMP_CONFIG}
[ -n "${tls_connect}" ] && echo "TLSConnect=${tls_connect}" >> ${TMP_CONFIG}
[ -n "${tls_psk_identity}" ] && echo "TLSPSKIdentity=${tls_psk_identity}" >> ${TMP_CONFIG}
[ -n "${tls_psk_file}" ] && {
echo "TLSPSKFile=${tls_psk_file}" >> ${TMP_CONFIG}
chmod 644 ${tls_psk_file}
}
[ -n "${tls_ca_file}" ] && {
echo "TLSCAFile=${tls_ca_file}" >> ${TMP_CONFIG}
chmod 644 ${tls_ca_file}
}
[ -n "${tls_cert_file}" ] && {
echo "TLSCertFile=${tls_cert_file}" >> ${TMP_CONFIG}
chmod 644 ${tls_cert_file}
}
[ -n "${tls_key_file}" ] && {
echo "TLSKeyFile=${tls_key_file}" >> ${TMP_CONFIG}
chmod 644 ${tls_key_file}
}
procd_open_instance
procd_set_param command ${PROG} -c ${CONFIG} -f
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
start_service(){
config_load 'zabbix'
config_foreach start_service_daemon 'zabbix'
}
service_triggers() {
procd_add_reload_trigger 'zabbix'
}
reload_service() {
stop
start
}