diff options
Diffstat (limited to 'upload-backup')
| -rw-r--r-- | upload-backup | 106 | 
1 files changed, 0 insertions, 106 deletions
diff --git a/upload-backup b/upload-backup deleted file mode 100644 index cde847c..0000000 --- a/upload-backup +++ /dev/null @@ -1,106 +0,0 @@ -#!rsc by RouterOS -# RouterOS script: upload-backup -# Copyright (c) 2013-2021 Christian Hesse <mail@eworm.de> -# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md -# -# provides: backup-script -# -# create and upload backup and config file -# https://git.eworm.de/cgit/routeros-scripts/about/doc/upload-backup.md - -:local 0 "upload-backup"; -:global GlobalFunctionsReady; -:while ($GlobalFunctionsReady != true) do={ :delay 500ms; } - -:global BackupPassword; -:global BackupRandomDelay; -:global BackupSendBinary; -:global BackupSendExport; -:global BackupUploadPass; -:global BackupUploadUrl; -:global BackupUploadUser; -:global Domain; -:global Identity; - -:global CharacterReplace; -:global DeviceInfo; -:global IfThenElse; -:global LogPrintExit2; -:global MkDir; -:global RandomDelay; -:global ScriptFromTerminal; -:global SendNotification2; -:global SymbolForNotification; -:global WaitForFile; -:global WaitFullyConnected; - -:if ($BackupSendBinary != true && \ -     $BackupSendExport != true) do={ -  $LogPrintExit2 error $0 ("Configured to send neither backup nor config export.") true; -} - -$WaitFullyConnected; - -:if ([ $ScriptFromTerminal $0 ] = false && $BackupRandomDelay > 0) do={ -  $RandomDelay $BackupRandomDelay; -} - -:if ([ $MkDir $0 ] = false) do={ -  $LogPrintExit2 error $0 ("Failed creating directory!") true; -} - -# filename based on identity -:local FileName [ $CharacterReplace ($Identity . "." . $Domain) "." "_" ]; -:local FilePath ($0 . "/" . $FileName); -:local BackupFile "none"; -:local ConfigFile "none"; -:local Failed 0; - -# binary backup -:if ($BackupSendBinary = true) do={ -  / system backup save encryption=aes-sha256 name=$FilePath password=$BackupPassword; -  $WaitForFile ($FilePath . ".backup"); - -  :do { -    / tool fetch upload=yes url=($BackupUploadUrl . "/" . $FileName . ".backup") \ -        user=$BackupUploadUser password=$BackupUploadPass src-path=($FilePath . ".backup"); -    :set BackupFile ($FileName . ".backup"); -  } on-error={ -    $LogPrintExit2 error $0 ("Uploading backup file failed!") false; -    :set BackupFile "failed"; -    :set Failed 1; -  } - -  / file remove ($FilePath . ".backup"); -} - -# create configuration export -:if ($BackupSendExport = true) do={ -  / export terse file=$FilePath; -  $WaitForFile ($FilePath . ".rsc"); - -  :do { -    / tool fetch upload=yes url=($BackupUploadUrl . "/" . $FileName . ".rsc") \ -        user=$BackupUploadUser password=$BackupUploadPass src-path=($FilePath . ".rsc"); -    :set ConfigFile ($FileName . ".rsc"); -  } on-error={ -    $LogPrintExit2 error $0 ("Uploading configuration export failed!") false; -    :set ConfigFile "failed"; -    :set Failed 1; -  } - -  / file remove ($FilePath . ".rsc"); -} - -$SendNotification2 ({ origin=$0; \ -  subject=[ $IfThenElse ($Failed > 0) \ -    ([ $SymbolForNotification "warning-sign" ] . "Backup & Config upload with failure") \ -    ([ $SymbolForNotification "floppy-disk,up-arrow" ] . "Backup & Config upload") ]; \ -  message=("Backup and config export upload for " . $Identity . ".\n\n" . \ -    [ $DeviceInfo ] . "\n\n" . \ -    "Backup file:    " . $BackupFile . "\n" . \ -    "Config file:    " . $ConfigFile); silent=true }); - -:if ($Failed = 1) do={ -  :error "An error occured!"; -}  |