mirror of
https://git.eworm.de/cgit/routeros-scripts
synced 2025-07-08 09:04:28 +02:00
packages-update: run backups before package download
This reduces memory pressure, especially on device with very limited RAM like mAP with its 64 MB.
This commit is contained in:
parent
eab9b28cd2
commit
64bc9f73f7
1 changed files with 26 additions and 26 deletions
|
@ -60,32 +60,6 @@
|
||||||
:error true;
|
:error true;
|
||||||
}
|
}
|
||||||
|
|
||||||
:local NumInstalled [ $VersionToNum ($Update->"installed-version") ];
|
|
||||||
:local NumLatest [ $VersionToNum ($Update->"latest-version") ];
|
|
||||||
|
|
||||||
:local DoDowngrade false;
|
|
||||||
:if ($NumInstalled > $NumLatest) do={
|
|
||||||
:if ([ $ScriptFromTerminal $ScriptName ] = true) do={
|
|
||||||
:put "Latest version is older than installed one. Want to downgrade? [y/N]";
|
|
||||||
:if (([ /terminal/inkey timeout=60 ] % 32) = 25) do={
|
|
||||||
:set DoDowngrade true;
|
|
||||||
} else={
|
|
||||||
:put "Canceled...";
|
|
||||||
}
|
|
||||||
} else={
|
|
||||||
$LogPrint warning $ScriptName ("Not installing downgrade automatically.");
|
|
||||||
:error false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
:foreach Package in=[ /system/package/find where !bundle ] do={
|
|
||||||
:local PkgName [ /system/package/get $Package name ];
|
|
||||||
:if ([ $DownloadPackage $PkgName ($Update->"latest-version") ] = false) do={
|
|
||||||
$LogPrint error $ScriptName ("Download for package " . $PkgName . " failed, update aborted.");
|
|
||||||
:error false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
:local RunOrder ({});
|
:local RunOrder ({});
|
||||||
:foreach Script in=[ /system/script/find where source~("\n# provides: backup-script\\b") ] do={
|
:foreach Script in=[ /system/script/find where source~("\n# provides: backup-script\\b") ] do={
|
||||||
:local ScriptVal [ /system/script/get $Script ];
|
:local ScriptVal [ /system/script/get $Script ];
|
||||||
|
@ -120,6 +94,32 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:local NumInstalled [ $VersionToNum ($Update->"installed-version") ];
|
||||||
|
:local NumLatest [ $VersionToNum ($Update->"latest-version") ];
|
||||||
|
|
||||||
|
:local DoDowngrade false;
|
||||||
|
:if ($NumInstalled > $NumLatest) do={
|
||||||
|
:if ([ $ScriptFromTerminal $ScriptName ] = true) do={
|
||||||
|
:put "Latest version is older than installed one. Want to downgrade? [y/N]";
|
||||||
|
:if (([ /terminal/inkey timeout=60 ] % 32) = 25) do={
|
||||||
|
:set DoDowngrade true;
|
||||||
|
} else={
|
||||||
|
:put "Canceled...";
|
||||||
|
}
|
||||||
|
} else={
|
||||||
|
$LogPrint warning $ScriptName ("Not installing downgrade automatically.");
|
||||||
|
:error false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:foreach Package in=[ /system/package/find where !bundle ] do={
|
||||||
|
:local PkgName [ /system/package/get $Package name ];
|
||||||
|
:if ([ $DownloadPackage $PkgName ($Update->"latest-version") ] = false) do={
|
||||||
|
$LogPrint error $ScriptName ("Download for package " . $PkgName . " failed, update aborted.");
|
||||||
|
:error false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
:if ($DoDowngrade = true) do={
|
:if ($DoDowngrade = true) do={
|
||||||
$LogPrint info $ScriptName ("Rebooting for downgrade.");
|
$LogPrint info $ScriptName ("Rebooting for downgrade.");
|
||||||
:delay 1s;
|
:delay 1s;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue