From d54a0d541d3245706631f5deaca651a4dfb8c5d7 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 24 Apr 2026 14:22:02 +0200 Subject: [PATCH 1/5] backup-email: support date & time in filename --- backup-email.rsc | 5 ++++- doc/backup-email.md | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backup-email.rsc b/backup-email.rsc index fcafff45..47523f74 100644 --- a/backup-email.rsc +++ b/backup-email.rsc @@ -16,6 +16,7 @@ do={ :error ("Global config and/or functions not ready."); }; } delay=500ms max=50; :local ScriptName [ :jobname ]; + :global BackupFileNameDate; :global BackupPassword; :global BackupRandomDelay; :global BackupSendBinary; @@ -73,7 +74,9 @@ # filename based on identity :local DirName ("tmpfs/" . $ScriptName); - :local FileName [ $CleanName ($Identity . "." . $Domain) ]; + :local Clock [ /system/clock/get ]; + :local FileName [ $CleanName ($Identity . "." . $Domain . [ $IfThenElse ($BackupFileNameDate = true) \ + ("-" . $Clock->"date" . "-" . $Clock->"time" . "-" . $Clock->"gmt-offset") "" ] ) ]; :local FilePath ($DirName . "/" . $FileName); :local BackupFile "none"; :local ExportFile "none"; diff --git a/doc/backup-email.md b/doc/backup-email.md index cf334697..e55a0d7b 100644 --- a/doc/backup-email.md +++ b/doc/backup-email.md @@ -34,6 +34,7 @@ Configuration The configuration goes to `global-config-overlay`, these are the parameters: +* `BackupFileNameDate`: whether to add date & time in filenames * `BackupSendBinary`: whether to send binary backup * `BackupSendExport`: whether to send configuration export * `BackupSendGlobalConfig`: whether to send `global-config-overlay` From 0382a368ec6d76dd347ff69db79bb7e61a9eda86 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 24 Apr 2026 14:20:29 +0200 Subject: [PATCH 2/5] backup-upload: support date & time in filename --- backup-upload.rsc | 5 ++++- doc/backup-upload.md | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backup-upload.rsc b/backup-upload.rsc index bded570c..3230ef65 100644 --- a/backup-upload.rsc +++ b/backup-upload.rsc @@ -17,6 +17,7 @@ do={ :error ("Global config and/or functions not ready."); }; } delay=500ms max=50; :local ScriptName [ :jobname ]; + :global BackupFileNameDate; :global BackupPassword; :global BackupRandomDelay; :global BackupSendBinary; @@ -72,7 +73,9 @@ # filename based on identity :local DirName ("tmpfs/" . $ScriptName); - :local FileName [ $CleanName ($Identity . "." . $Domain) ]; + :local Clock [ /system/clock/get ]; + :local FileName [ $CleanName ($Identity . "." . $Domain . [ $IfThenElse ($BackupFileNameDate = true) \ + ("-" . $Clock->"date" . "-" . $Clock->"time" . "-" . $Clock->"gmt-offset") "" ] ) ]; :local FilePath ($DirName . "/" . $FileName); :local BackupFile "none"; :local ExportFile "none"; diff --git a/doc/backup-upload.md b/doc/backup-upload.md index 221cb721..bbf5227b 100644 --- a/doc/backup-upload.md +++ b/doc/backup-upload.md @@ -40,6 +40,7 @@ Configuration The configuration goes to `global-config-overlay`, these are the parameters: +* `BackupFileNameDate`: whether to add date & time in filenames * `BackupSendBinary`: whether to send binary backup * `BackupSendExport`: whether to send configuration export * `BackupSendGlobalConfig`: whether to send `global-config-overlay` From fd956519e262c5a545a3471af335a04023434866 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 27 Apr 2026 17:17:38 +0200 Subject: [PATCH 3/5] backup-email: drop the GMT offset from filename... ... as it is of little help only. Also it is ambiguous due to signdness being dropped when cleaning the name. --- backup-email.rsc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backup-email.rsc b/backup-email.rsc index 47523f74..70b18c06 100644 --- a/backup-email.rsc +++ b/backup-email.rsc @@ -75,8 +75,8 @@ # filename based on identity :local DirName ("tmpfs/" . $ScriptName); :local Clock [ /system/clock/get ]; - :local FileName [ $CleanName ($Identity . "." . $Domain . [ $IfThenElse ($BackupFileNameDate = true) \ - ("-" . $Clock->"date" . "-" . $Clock->"time" . "-" . $Clock->"gmt-offset") "" ] ) ]; + :local FileName [ $CleanName ($Identity . "." . $Domain . [ $IfThenElse \ + ($BackupFileNameDate = true) ("-" . $Clock->"date" . "-" . $Clock->"time") "" ] ) ]; :local FilePath ($DirName . "/" . $FileName); :local BackupFile "none"; :local ExportFile "none"; From 2f621a5981fd2b8b646595e0290c6868fc2371f1 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 27 Apr 2026 17:17:41 +0200 Subject: [PATCH 4/5] backup-upload: drop the GMT offset from filename... ... as it is of little help only. Also it is ambiguous due to signdness being dropped when cleaning the name. --- backup-upload.rsc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backup-upload.rsc b/backup-upload.rsc index 3230ef65..b89d123d 100644 --- a/backup-upload.rsc +++ b/backup-upload.rsc @@ -74,8 +74,8 @@ # filename based on identity :local DirName ("tmpfs/" . $ScriptName); :local Clock [ /system/clock/get ]; - :local FileName [ $CleanName ($Identity . "." . $Domain . [ $IfThenElse ($BackupFileNameDate = true) \ - ("-" . $Clock->"date" . "-" . $Clock->"time" . "-" . $Clock->"gmt-offset") "" ] ) ]; + :local FileName [ $CleanName ($Identity . "." . $Domain . [ $IfThenElse \ + ($BackupFileNameDate = true) ("-" . $Clock->"date" . "-" . $Clock->"time") "" ] ) ]; :local FilePath ($DirName . "/" . $FileName); :local BackupFile "none"; :local ExportFile "none"; From 2f5aa2f337db330c9bb85eff3f6077eefe0ad860 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 24 Apr 2026 14:20:29 +0200 Subject: [PATCH 5/5] backup-{email,upload}: add setting in configuration --- global-config.rsc | 5 +++-- global-functions.rsc | 2 +- news-and-changes.rsc | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/global-config.rsc b/global-config.rsc index de22019c..0bb572b5 100644 --- a/global-config.rsc +++ b/global-config.rsc @@ -90,8 +90,9 @@ # Toggle this to disable color output in terminal/cli. :global TerminalColorOutput true; -# This defines what backups to generate, the password to use, -# and what random delay (between 0 and given seconds) to apply. +# This defines whether to add date & time in filenames, what backups to generate, +# the password to use, and what random delay (between 0 and given seconds) to apply. +:global BackupFileNameDate false; :global BackupSendBinary false; :global BackupSendExport true; :global BackupSendGlobalConfig true; diff --git a/global-functions.rsc b/global-functions.rsc index 413517f3..10a9b5ac 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -15,7 +15,7 @@ # Git commit id & info, expected configuration version :global CommitId "unknown"; :global CommitInfo "unknown"; -:global ExpectedConfigVersion 142; +:global ExpectedConfigVersion 143; # global variables not to be changed by user :global GlobalFunctionsReady false; diff --git a/news-and-changes.rsc b/news-and-changes.rsc index 2c1a0272..ed60a6c2 100644 --- a/news-and-changes.rsc +++ b/news-and-changes.rsc @@ -67,6 +67,7 @@ 140="The scripts 'lease-script' was renamed to 'dhcpv4-server-lease', configuration was updated automatically."; 141="Introduced script 'dhcpv6-client-lease' to run several scripts on IPv6 DHCP client lease."; 142="Added a setting for 'mod/notification-email' to check availability of certificate chain."; + 143="Made backup scripts 'backup-email' and 'backup-upload' support date & time in filenames."; }; # Migration steps to be applied on script updates