| 123456789101112131415161718192021222324252627282930313233343536 |
- #!/bin/sh /etc/rc.common
- # balancerlite init script for OpenWrt procd
- # Install: install -m 0755 etc/init.d/balancerlite /etc/init.d/balancerlite
- # /etc/init.d/balancerlite enable
- START=90
- STOP=10
- USE_PROCD=1
- NAME=balancerlite
- PROG=/usr/bin/balancerlite
- start_service() {
- procd_open_instance
- procd_set_param command "$PROG" --config /etc/config/balancerlite
- procd_set_param respawn 3600 5 3 # retry every 5s, max 3 retries
- procd_set_param stdout 1 # log stdout to syslog
- procd_set_param stderr 1 # log stderr to syslog
- # Readiness: procd sends SIGUSR1; daemon does not currently implement
- # sd_notify, so we use a simple health check instead.
- procd_set_param health_eval 'ubus call network.interface.wan status'
- procd_close_instance
- }
- reload_service() {
- procd_send_signal "$NAME" SIGHUP
- }
- stop_service() {
- procd_send_signal "$NAME" SIGTERM
- sleep 2
- }
- validate_service() {
- # Basic config sanity check
- [ -f /etc/config/balancerlite ] || return 1
- }
|