mirror of
https://git.eworm.de/cgit/routeros-scripts
synced 2025-08-16 15:51:14 +02:00
backup-partition: support RouterOS copy-over...
... when run interactively from CLI.
This commit is contained in:
parent
0a46fb536f
commit
51331ea2ac
2 changed files with 25 additions and 3 deletions
|
@ -18,6 +18,7 @@
|
||||||
:global PackagesUpdateBackupFailure;
|
:global PackagesUpdateBackupFailure;
|
||||||
|
|
||||||
:global LogPrint;
|
:global LogPrint;
|
||||||
|
:global ScriptFromTerminal;
|
||||||
:global ScriptLock;
|
:global ScriptLock;
|
||||||
|
|
||||||
:if ([ $ScriptLock $ScriptName ] = false) do={
|
:if ([ $ScriptLock $ScriptName ] = false) do={
|
||||||
|
@ -41,6 +42,22 @@
|
||||||
|
|
||||||
:local FallbackTo [ /partitions/get $ActiveRunning fallback-to ];
|
:local FallbackTo [ /partitions/get $ActiveRunning fallback-to ];
|
||||||
|
|
||||||
|
:if ([ /partitions/get $ActiveRunning version ] != [ /partitions/get $FallbackTo version]) do={
|
||||||
|
:if ([ $ScriptFromTerminal $ScriptName ] = true) do={
|
||||||
|
:put ("The partitions have different RouterOS versions. Copy over to '" . $FallbackTo . "'? [y/N]");
|
||||||
|
:if (([ /terminal/inkey timeout=60 ] % 32) = 25) do={
|
||||||
|
: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;
|
||||||
|
:error false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
:do {
|
:do {
|
||||||
/system/scheduler/add start-time=startup name="running-from-backup-partition" \
|
/system/scheduler/add start-time=startup name="running-from-backup-partition" \
|
||||||
on-event=(":log warning (\"Running from partition '\" . " . \
|
on-event=(":log warning (\"Running from partition '\" . " . \
|
||||||
|
|
|
@ -18,6 +18,7 @@ Description
|
||||||
|
|
||||||
This script saves the current configuration to fallback
|
This script saves the current configuration to fallback
|
||||||
[partition](https://wiki.mikrotik.com/wiki/Manual:Partitions).
|
[partition](https://wiki.mikrotik.com/wiki/Manual:Partitions).
|
||||||
|
It can also copy-over the RouterOS installation when run interactively.
|
||||||
|
|
||||||
For this to work you need a device with sufficient flash storage that is
|
For this to work you need a device with sufficient flash storage that is
|
||||||
properly partitioned.
|
properly partitioned.
|
||||||
|
@ -26,9 +27,10 @@ To make you aware of a possible issue a scheduler logging a warning is
|
||||||
added in the backup partition's configuration. You may want to use
|
added in the backup partition's configuration. You may want to use
|
||||||
[log-forward](log-forward.md) to be notified.
|
[log-forward](log-forward.md) to be notified.
|
||||||
|
|
||||||
> ⚠️ **Warning**: Only the configuration is saved to backup partition.
|
> ⚠️ **Warning**: By default only the configuration is saved to backup
|
||||||
> Every now and then you should copy your installation over for a recent
|
> partition. Every now and then you should copy your installation over
|
||||||
> RouterOS version!
|
> for a recent RouterOS version! For that run the script from terminal
|
||||||
|
> manually.
|
||||||
|
|
||||||
Requirements and installation
|
Requirements and installation
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
@ -44,6 +46,9 @@ Just run the script:
|
||||||
|
|
||||||
/system/script/run backup-partition;
|
/system/script/run backup-partition;
|
||||||
|
|
||||||
|
When run interactively from terminal it supports to copy-over the RouterOS
|
||||||
|
installation when versions differ.
|
||||||
|
|
||||||
Creating a scheduler may be an option:
|
Creating a scheduler may be an option:
|
||||||
|
|
||||||
/system/scheduler/add interval=1w name=backup-partition on-event="/system/script/run backup-partition;" start-time=09:30:00;
|
/system/scheduler/add interval=1w name=backup-partition on-event="/system/script/run backup-partition;" start-time=09:30:00;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue