balancerlite 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/sh /etc/rc.common
  2. # balancerlite init script for OpenWrt procd
  3. # Install: install -m 0755 etc/init.d/balancerlite /etc/init.d/balancerlite
  4. # /etc/init.d/balancerlite enable
  5. START=90
  6. STOP=10
  7. USE_PROCD=1
  8. NAME=balancerlite
  9. PROG=/usr/bin/balancerlite
  10. start_service() {
  11. procd_open_instance
  12. procd_set_param command "$PROG" --config /etc/config/balancerlite
  13. procd_set_param respawn 3600 5 3 # retry every 5s, max 3 retries
  14. procd_set_param stdout 1 # log stdout to syslog
  15. procd_set_param stderr 1 # log stderr to syslog
  16. # Readiness: procd sends SIGUSR1; daemon does not currently implement
  17. # sd_notify, so we use a simple health check instead.
  18. procd_set_param health_eval 'ubus call network.interface.wan status'
  19. procd_close_instance
  20. }
  21. reload_service() {
  22. procd_send_signal "$NAME" SIGHUP
  23. }
  24. stop_service() {
  25. procd_send_signal "$NAME" SIGTERM
  26. sleep 2
  27. }
  28. validate_service() {
  29. # Basic config sanity check
  30. [ -f /etc/config/balancerlite ] || return 1
  31. }