]> git.p6c8.net - dsmonrot.git/commitdiff
Allow to exclude files and directories from the backup
authorPatrick Canterino <patrick@patrick-canterino.de>
Fri, 24 Mar 2023 16:43:04 +0000 (17:43 +0100)
committerPatrick Canterino <patrick@patrick-canterino.de>
Fri, 24 Mar 2023 16:43:04 +0000 (17:43 +0100)
Options are directly passed to Drive Snapshot's `--exclude` parameter

Fixes GitHub issue #2

dsmonrot.ps1

index 7012cf197f3b1ff538e5756c5cc37f8cda650daf..8cefa451e8988a8789cc3ea23a30ed12bbdb7f3b 100644 (file)
 # 0 or less for indefinite\r
 # You should set this to at least the same as $keepMonths\r
 [Int32]$keepLogs = 2\r
+# Comma separated lists of files and directories to exclude from the backup\r
+# See http://www.drivesnapshot.de/en/commandline.htm\r
+# Comment out if you don't want to use it\r
+#[String]$excludedPaths = "Path1,Path2"\r
 \r
 # Map network share to this drive letter, comment out if you don't want to use it\r
 [String]$smbDrive = "Z"\r
@@ -327,6 +331,11 @@ if($errorMessages.Count -eq 0) {
                        $backupTargetDiff = $backupTargetDiff + "-" + $currTime\r
                }\r
 \r
+               # Compose the "exclude" parameter if necessary\r
+               if($excludedPaths) {\r
+                       $dsAdditionalArgs += "--exclude:" + $excludedPaths\r
+               }\r
+\r
                # Check if the backup target for this month, the directory for the full backup\r
                # and the hash files exists. In this case we do a differential backup.\r
                if((Test-Path $backupTarget) -and (Test-Path $backupTargetFull) -and (Test-Path "$backupTargetFull\*.hsh")) {\r

patrick-canterino.de