log.init 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh /etc/rc.common
  2. # Copyright (C) 2013 OpenWrt.org
  3. # start after and stop before networking
  4. START=21
  5. STOP=89
  6. USE_PROCD=1
  7. PROG=/sbin/logread
  8. start_service_file()
  9. {
  10. local pid_file="/var/run/logread.${PIDCOUNT}.pid"
  11. local log_file log_size
  12. config_get log_file $1 log_file
  13. config_get log_size $1 log_size
  14. [ -z "${log_file}" ] && return
  15. procd_open_instance
  16. procd_set_param command "$PROG" -f -F "$log_file" -p "$pid_file"
  17. [ -n "${log_size}" ] && procd_append_param command -S "$log_size"
  18. procd_close_instance
  19. }
  20. start_service_remote()
  21. {
  22. local pid_file="/var/run/logread.${PIDCOUNT}.pid"
  23. local log_ip log_port log_proto
  24. config_get log_ip $1 log_ip
  25. config_get log_port $1 log_port
  26. config_get log_proto $1 log_proto udp
  27. [ -z "${log_ip}" ] && return
  28. procd_open_instance
  29. procd_set_param command "$PROG" -f -r "$log_ip" "${log_port:-514}" -p "$pid_file"
  30. [ "${log_proto}" != "udp" ] || procd_append_param command -u
  31. procd_close_instance
  32. }
  33. service_triggers()
  34. {
  35. procd_add_config_trigger "system" "/etc/init.d/log" "start"
  36. }
  37. start_service()
  38. {
  39. config_load system
  40. config_foreach start_service_file system
  41. config_foreach start_service_remote system
  42. }