From 344111e4b906b1d39fef9b7b496431ea8487eba9 Mon Sep 17 00:00:00 2001 From: rufengsuixing <1985151814@qq.com> Date: Wed, 25 Dec 2019 09:55:08 +0800 Subject: [PATCH] crontab: cron reload only once --- root/etc/init.d/AdGuardHome | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/root/etc/init.d/AdGuardHome b/root/etc/init.d/AdGuardHome index 1e792820..8c78267d 100755 --- a/root/etc/init.d/AdGuardHome +++ b/root/etc/init.d/AdGuardHome @@ -525,6 +525,7 @@ do_crontab do_crontab(){ config_get crontab $CONFIGURATION crontab "" local findstr default cronenable + local cronreload=0 findstr="/usr/share/AdGuardHome/update_core.sh" default="#30 3 * * * /usr/share/AdGuardHome/update_core.sh 2>&1" [ "$enabled" == "0" ] || [ "${crontab//autoupdate/}" == "$crontab" ] && cronenable=0 || cronenable=1 @@ -551,6 +552,7 @@ do_crontab(){ default="#30 3 * * * /usr/share/AdGuardHome/gfw2adg.sh" [ "$enabled" == "0" ] || [ "${crontab//autogfw/}" == "$crontab" ] && cronenable=0 || cronenable=1 crontab_editor + [ "$cronreload" -gt 0 ] && /etc/init.d/cron restart } crontab_editor(){ local line="$(grep "$findstr" $CRON_FILE)" @@ -560,14 +562,14 @@ crontab_editor(){ else sed -i "\,$findstr,d" $CRON_FILE echo "#$line" >> $CRON_FILE - /etc/init.d/cron restart + cronreload=$((cronreload+1)) fi else if [ $cronenable -eq 1 ]; then [ -z "$line" ] && line="$default" sed -i "\,$findstr,d" $CRON_FILE echo "${line:1}" >> $CRON_FILE - /etc/init.d/cron restart + cronreload=$((cronreload+1)) else return fi