openwrt/package/system/procd/files/log.init
2013-07-22 16:43:17 +00:00

61 lines
1.3 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2013 OpenWrt.org
# start after and stop before networking
START=21
STOP=89
USE_PROCD=1
NAME=logread
PROG=/sbin/logread
PIDCOUNT=1
start_service_file()
{
local pid_file="/var/run/logread.${PIDCOUNT}.pid"
local log_file log_size
config_get log_file $1 log_file
config_get log_size $1 log_size
[ -z "${log_file}" ] && return
procd_open_instance
procd_set_param command "$PROG" -f -F "$log_file" -p "$pid_file"
[ -n "${log_size}" ] && procd_append_param command -S "$log_size"
procd_close_instance
PIDCOUNT="$(( ${PIDCOUNT} + 1))"
}
start_service_remote()
{
local pid_file="/var/run/logread.${PIDCOUNT}.pid"
local log_ip log_port log_proto
config_get log_ip $1 log_ip
config_get log_port $1 log_port
config_get log_proto $1 log_proto udp
[ -z "${log_ip}" ] && return
procd_open_instance
procd_set_param command "$PROG" -f -r "$log_ip" "${log_port:-514}" -p "$pid_file"
[ "${log_proto}" != "udp" ] || procd_append_param command -u
procd_close_instance
PIDCOUNT="$(( ${PIDCOUNT} + 1))"
}
service_triggers()
{
procd_add_config_trigger "system" "/etc/init.d/log" "start"
}
start_service()
{
config_load system
config_foreach start_service_file system
config_foreach start_service_remote system
}