small-package/luci-app-autoupdate/root/etc/init.d/autoupdate

62 lines
1.6 KiB
Plaintext
Raw Normal View History

2023-03-03 19:12:20 +08:00
#!/bin/sh /etc/rc.common
START=99
LOGGER="logger -t [AutoUpdate]"
Script_File="$(command -v autoupdate)"
Script_Cmd="$Script_File -u"
start() {
local basic_list="enable proxy proxy_type advanced_settings github flag logpath week minute hour"
for i in $(echo $basic_list);do
local eval $i="$(uci_get_by_type autoupdate 0 $i)"
done;unset i
if [ ! "${Script_File}" ]
then
${LOGGER} "Unable to access autoupdate,exit ..."
stop
exit 1
else
chmod 777 ${Script_File} 2> /dev/null
fi
if [ "$enable" == 1 ]
then
[ "$week" == 7 ] && week='*'
[ "$proxy" == 1 ] && Script_Cmd="$Script_Cmd -P $proxy_type"
Script_Cmd="$Script_Cmd $advanced_settings"
${LOGGER} "Creating corn_task [$minute $hour * * $week $Script_Cmd] ..."
echo "$minute $hour * * $week $Script_Cmd ## AutoUpdate crontab" >> /etc/crontabs/root
/etc/init.d/cron restart
else
${LOGGER} "AutoUpdate Service is disabled ..."
stop
fi
${LOGGER} "Setting Github URL to $github ..."
${LOGGER} "Setting Flag to $flag ..."
${LOGGER} "Setting Log Path to $logpath ..."
$Script_File -C $github > /dev/null 2>&1
$Script_File --flag $flag > /dev/null 2>&1
$Script_File --log -path $logpath > /dev/null 2>&1
}
stop() {
${LOGGER} "Removing all corn tasks ..."
sed -i '/## AutoUpdate crontab/d' /etc/crontabs/root 2> /dev/null
/etc/init.d/cron restart
}
disable() {
${LOGGER} "Closing AutoUpdate Service ..."
uci set autoupdate.@autoupdate[0].enable="0" 2> /dev/null
stop
}
service_triggers() {
procd_add_reload_trigger "autoupdate"
}
uci_get_by_type() {
local ret=$(uci get autoupdate.@$1[$2].$3 2>/dev/null)
echo ${ret:=$4}
}