Files
quectel-rgmii-toolkit/ipk-source/sdxpinn-quecmanager/root/etc/init.d/quecprofiles
Cameron Thompson c42907e346 QuecManager non-beta
Its about time I did this!
2025-04-02 23:09:08 -04:00

84 lines
2.3 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1
# Configuration paths
PROG="/www/cgi-bin/services/quecprofile.sh"
CONF="/etc/config/quecprofiles"
TRACK_FILE="/tmp/quecprofiles_active"
CHECK_TRIGGER="/tmp/quecprofiles_check"
STATUS_FILE="/tmp/quecprofiles_status.json"
DEBUG_LOG="/tmp/quecprofiles_debug.log"
start_service() {
# Ensure configuration exists
if [ ! -f "$CONF" ]; then
# Create default configuration
cat > "$CONF" <<-EOF
config quecprofiles 'settings'
option check_interval '60'
option enable_autoswitch '1'
option apply_priority '20'
EOF
fi
# Ensure script is executable
if [ -f "$PROG" ]; then
chmod 755 "$PROG"
else
logger -t quecprofiles -p daemon.error "Profile daemon script not found at $PROG"
return 1
fi
# Clear any existing logs
echo "$(date) - Init script starting service" > "$DEBUG_LOG"
# Check if service is enabled
local enabled
config_load quecprofiles
config_get_bool enabled settings enable_autoswitch 1
if [ "$enabled" -eq 0 ]; then
logger -t quecprofiles -p daemon.info "QuecProfiles service is disabled in config"
echo "$(date) - Service is disabled in config" >> "$DEBUG_LOG"
return 0
fi
# Log before starting daemon
logger -t quecprofiles -p daemon.info "Starting QuecProfiles Daemon with script: $PROG"
echo "$(date) - Starting daemon using script: $PROG" >> "$DEBUG_LOG"
# Start the profile daemon
echo "Starting QuecProfiles Daemon..."
procd_open_instance "quecprofiles"
procd_set_param command "$PROG"
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
echo "QuecProfiles Daemon Started"
echo "$(date) - Daemon started via procd" >> "$DEBUG_LOG"
}
stop_service() {
# Clean up state files
rm -f "$TRACK_FILE"
rm -f "$CHECK_TRIGGER"
# Log stop action
logger -t quecprofiles -p daemon.info "Stopping QuecProfiles service"
echo "$(date) - Stopping service" >> "$DEBUG_LOG"
# procd will handle stopping the instance automatically
echo "Stopping QuecProfiles service."
}
service_triggers() {
procd_add_reload_trigger "quecprofiles"
}
reload_service() {
touch "$CHECK_TRIGGER"
restart
}