You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
Bash
44 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
. /lib/functions.sh
|
|
. /usr/lib/configsync_lib.sh
|
|
|
|
my_logger() {
|
|
logger -t configsync_event_delay "${@}"
|
|
}
|
|
|
|
|
|
DELAY=$(uci_get ${MY_SERVICE_NAME} global eventdelay 30)
|
|
my_logger " copy system configuration to configsync received parameters: $@ delay = $DELAY"
|
|
|
|
# add service to servicelist if not in list
|
|
for SERVICE in "$@"; do
|
|
add_to_list $CS_SERVICELIST ${SERVICE}
|
|
done
|
|
|
|
sleep $DELAY
|
|
|
|
SERVICELIST=$(cat $CS_SERVICELIST)
|
|
SERVICE_ENABLE=$(uci_get ${MY_SERVICE_NAME} global enabled 0)
|
|
if [ ${SERVICE_ENABLE} -eq 1 ]; then
|
|
my_logger "start synchronization"
|
|
RETVAL=1
|
|
for CHANGED_FILE in ${SERVICELIST}; do
|
|
my_logger "Handle ${CHANGED_FILE} SYSTEM-TO-CONFIGSYNC"
|
|
if /usr/bin/${MY_SERVICE_NAME}_handler.sh SYSTEM-TO-CONFIGSYNC "${CHANGED_FILE}"; then
|
|
RETVAL=0
|
|
fi
|
|
update_md5sum ${CHANGED_FILE}
|
|
done
|
|
if [ $RETVAL -eq 0 ]; then
|
|
# /usr/bin/${MY_SERVICE_NAME}_handler.sh APPLY
|
|
my_logger "Apply configsync changes"
|
|
killall -USR1 p1905
|
|
fi
|
|
my_logger "end synchronization"
|
|
else
|
|
my_logger "${MY_SERVICE_NAME} service not running -> trigger ignored"
|
|
fi
|
|
>$CS_SERVICELIST
|
|
|