backup-partition: move code to a local function

This commit is contained in:
Christian Hesse 2024-05-22 11:58:26 +02:00
parent 51331ea2ac
commit 6cbe13a135

View file

@ -21,6 +21,22 @@
:global ScriptFromTerminal; :global ScriptFromTerminal;
:global ScriptLock; :global ScriptLock;
:local CopyTo do={
:local ScriptName [ :tostr $1 ];
:local FallbackTo [ :tostr $2 ];
:global LogPrint;
:do {
/partitions/copy-to $FallbackTo;
$LogPrint info $ScriptName ("Copied RouterOS to partition '" . $FallbackTo . "'.");
:return true;
} on-error={
$LogPrint error $ScriptName ("Failed copying RouterOS to partition '" . $FallbackTo . "'!");
:return false;
}
}
:if ([ $ScriptLock $ScriptName ] = false) do={ :if ([ $ScriptLock $ScriptName ] = false) do={
:set PackagesUpdateBackupFailure true; :set PackagesUpdateBackupFailure true;
:error false; :error false;
@ -46,11 +62,7 @@
:if ([ $ScriptFromTerminal $ScriptName ] = true) do={ :if ([ $ScriptFromTerminal $ScriptName ] = true) do={
:put ("The partitions have different RouterOS versions. Copy over to '" . $FallbackTo . "'? [y/N]"); :put ("The partitions have different RouterOS versions. Copy over to '" . $FallbackTo . "'? [y/N]");
:if (([ /terminal/inkey timeout=60 ] % 32) = 25) do={ :if (([ /terminal/inkey timeout=60 ] % 32) = 25) do={
:do { :if ([ $CopyTo $ScriptName $FallbackTo ] = false) do={
/partitions/copy-to $FallbackTo;
$LogPrint info $ScriptName ("Copied RouterOS to partition '" . $FallbackTo . "'.");
} on-error={
$LogPrint error $ScriptName ("Failed copying RouterOS to partition '" . $FallbackTo . "'!");
:set PackagesUpdateBackupFailure true; :set PackagesUpdateBackupFailure true;
:error false; :error false;
} }