diff options
author | Christian Hesse <mail@eworm.de> | 2022-03-30 18:03:50 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2022-03-30 18:24:14 +0200 |
commit | 71b69fc1898babf490b7dc8e7b0769022d5a2f79 (patch) | |
tree | 17a9ba657b7fd3e9e00d07e94587caff34dc3968 /backup-partition | |
parent | 2aa93a06716350d5e29fff4cfd1e7deb338ab80c (diff) |
introduce backup-partitionchange-79
Diffstat (limited to 'backup-partition')
-rw-r--r-- | backup-partition | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/backup-partition b/backup-partition new file mode 100644 index 0000000..c72c7f9 --- /dev/null +++ b/backup-partition @@ -0,0 +1,36 @@ +#!rsc by RouterOS +# RouterOS script: backup-partition +# Copyright (c) 2022 Christian Hesse <mail@eworm.de> +# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md +# +# provides: backup-script +# +# save configuration to fallback partition +# https://git.eworm.de/cgit/routeros-scripts/about/doc/backup-partition.md + +:local 0 "backup-partition"; +:global GlobalFunctionsReady; +:while ($GlobalFunctionsReady != true) do={ :delay 500ms; } + +:global LogPrintExit2; + +:if ([ :len [ / partitions find ] ] < 2) do={ + $LogPrintExit2 error $0 ("Device does not have a fallback partition.") true; +} + +:local ActiveRunning [ / partitions find where active running ]; + +:if ([ :len $ActiveRunning ] < 1) do={ + $LogPrintExit2 error $0 ("Device is not running from active partition.") true; +} + +:local ActiveRunningVar [ / partitions get $ActiveRunning ]; + +:do { + / partitions save-config-to ($ActiveRunningVar->"fallback-to"); + $LogPrintExit2 info $0 ("Saved configuration to partition '" . \ + ($ActiveRunningVar->"fallback-to") . "'.") false; +} on-error={ + $LogPrintExit2 error $0 ("Failed saving configuration to partition '" . \ + ($ActiveRunningVar->"fallback-to") . "'!") true; +} |