mirror of
https://github.com/eworm-de/routeros-scripts.git
synced 2026-03-04 21:19:36 +00:00
packages-update: support deferred reboot with longer interval
This commit is contained in:
parent
1d4856d020
commit
9f21df22e8
1 changed files with 8 additions and 3 deletions
|
|
@ -31,19 +31,24 @@
|
||||||
:local Schedule do={
|
:local Schedule do={
|
||||||
:local ScriptName [ :tostr $1 ];
|
:local ScriptName [ :tostr $1 ];
|
||||||
|
|
||||||
|
:global PackagesUpdateDeferReboot;
|
||||||
|
|
||||||
:global GetRandomNumber;
|
:global GetRandomNumber;
|
||||||
|
:global IfThenElse;
|
||||||
:global LogPrint;
|
:global LogPrint;
|
||||||
|
|
||||||
:global RebootForUpdate do={
|
:global RebootForUpdate do={
|
||||||
/system/reboot;
|
/system/reboot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:local Interval [ $IfThenElse ($PackagesUpdateDeferReboot >= 1d) $PackagesUpdateDeferReboot 1d ];
|
||||||
:local StartTime [ :tostr [ :totime (10800 + [ $GetRandomNumber 7200 ]) ] ];
|
:local StartTime [ :tostr [ :totime (10800 + [ $GetRandomNumber 7200 ]) ] ];
|
||||||
/system/scheduler/add name="_RebootForUpdate" start-time=$StartTime interval=1d \
|
/system/scheduler/add name="_RebootForUpdate" start-time=$StartTime interval=$Interval \
|
||||||
on-event=("/system/scheduler/remove \"_RebootForUpdate\"; " . \
|
on-event=("/system/scheduler/remove \"_RebootForUpdate\"; " . \
|
||||||
":global RebootForUpdate; \$RebootForUpdate;");
|
":global RebootForUpdate; \$RebootForUpdate;");
|
||||||
$LogPrint info $ScriptName ("Scheduled reboot for update at " . $StartTime . \
|
$LogPrint info $ScriptName ("Scheduled reboot for update at " . $StartTime . \
|
||||||
" local time (" . [ /system/clock/get time-zone-name ] . ").");
|
" local time (" . [ /system/clock/get time-zone-name ] . ")" . \
|
||||||
|
[ $IfThenElse ($Interval > 1d) (" deferred by " . $Interval) ] . ".");
|
||||||
:return true;
|
:return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -153,7 +158,7 @@
|
||||||
:error true;
|
:error true;
|
||||||
}
|
}
|
||||||
} else={
|
} else={
|
||||||
:if ($PackagesUpdateDeferReboot = true) do={
|
:if ($PackagesUpdateDeferReboot = true || $PackagesUpdateDeferReboot >= 1d) do={
|
||||||
$Schedule $ScriptName;
|
$Schedule $ScriptName;
|
||||||
:set ExitOK true;
|
:set ExitOK true;
|
||||||
:error true;
|
:error true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue