upload-backup: work inside directory

This commit is contained in:
Christian Hesse 2021-04-29 16:07:33 +02:00
parent ff4e5339d0
commit 51007f9224

View file

@ -24,6 +24,7 @@
:global DeviceInfo; :global DeviceInfo;
:global IfThenElse; :global IfThenElse;
:global LogPrintExit2; :global LogPrintExit2;
:global MkDir;
:global RandomDelay; :global RandomDelay;
:global ScriptFromTerminal; :global ScriptFromTerminal;
:global SendNotification2; :global SendNotification2;
@ -42,20 +43,25 @@ $WaitFullyConnected;
$RandomDelay $BackupRandomDelay; $RandomDelay $BackupRandomDelay;
} }
:if ([ $MkDir $0 ] = false) do={
$LogPrintExit2 error $0 ("Failed creating directory!") true;
}
# filename based on identity # filename based on identity
:local FileName [ $CharacterReplace ($Identity . "." . $Domain) "." "_" ]; :local FileName [ $CharacterReplace ($Identity . "." . $Domain) "." "_" ];
:local FilePath ($0 . "/" . $FileName);
:local BackupFile "none"; :local BackupFile "none";
:local ConfigFile "none"; :local ConfigFile "none";
:local Failed 0; :local Failed 0;
# binary backup # binary backup
:if ($BackupSendBinary = true) do={ :if ($BackupSendBinary = true) do={
/ system backup save encryption=aes-sha256 name=$FileName password=$BackupPassword; / system backup save encryption=aes-sha256 name=$FilePath password=$BackupPassword;
$WaitForFile ($FileName . ".backup"); $WaitForFile ($FilePath . ".backup");
:do { :do {
/ tool fetch upload=yes url=($BackupUploadUrl . "/" . $FileName . ".backup") \ / tool fetch upload=yes url=($BackupUploadUrl . "/" . $FileName . ".backup") \
user=$BackupUploadUser password=$BackupUploadPass src-path=($FileName . ".backup"); user=$BackupUploadUser password=$BackupUploadPass src-path=($FilePath . ".backup");
:set BackupFile ($FileName . ".backup"); :set BackupFile ($FileName . ".backup");
} on-error={ } on-error={
$LogPrintExit2 error $0 ("Uploading backup file failed!") false; $LogPrintExit2 error $0 ("Uploading backup file failed!") false;
@ -66,12 +72,12 @@ $WaitFullyConnected;
# create configuration export # create configuration export
:if ($BackupSendExport = true) do={ :if ($BackupSendExport = true) do={
/ export terse file=$FileName; / export terse file=$FilePath;
$WaitForFile ($FileName . ".rsc"); $WaitForFile ($FilePath . ".rsc");
:do { :do {
/ tool fetch upload=yes url=($BackupUploadUrl . "/" . $FileName . ".rsc") \ / tool fetch upload=yes url=($BackupUploadUrl . "/" . $FileName . ".rsc") \
user=$BackupUploadUser password=$BackupUploadPass src-path=($FileName . ".rsc"); user=$BackupUploadUser password=$BackupUploadPass src-path=($FilePath . ".rsc");
:set ConfigFile ($FileName . ".rsc"); :set ConfigFile ($FileName . ".rsc");
} on-error={ } on-error={
$LogPrintExit2 error $0 ("Uploading configuration export failed!") false; $LogPrintExit2 error $0 ("Uploading configuration export failed!") false;