# 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
}\r
}\r
\r
-function Rotate-Backup {\r
+function Invoke-BackupRotation {\r
if($keepMonths -lt 0) {\r
return\r
}\r
}\r
}\r
\r
-function Rotate-Log {\r
+function Invoke-LogRotation {\r
if($keepLogs -le 0) {\r
return\r
}\r
$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
+ # and the hash files exist. In that case we do a differential backup.\r
if((Test-Path $backupTarget) -and (Test-Path $backupTargetFull) -and (Test-Path "$backupTargetFull\*.hsh")) {\r
# Do a differential backup\r
\r
\r
if($errorMessages.Count -eq 0) {\r
if($rotateBeforeBackup) {\r
- Rotate-Backup\r
+ Invoke-BackupRotation\r
}\r
\r
$dsLogPath = if($dsLogFileToBackup) { "$backupTargetFull\$dsLogFile" } else { $dsLogFile }\r
}\r
\r
if($rotateBeforeBackup -eq $False -and $success -eq $True) {\r
- Rotate-Backup\r
+ Invoke-BackupRotation\r
}\r
}\r
}\r
}\r
\r
# Rotate the log files\r
- Rotate-Log\r
+ Invoke-LogRotation\r
+\r
}\r
\r
# If there was any error message recorded, send a mail if configured\r