DailyBackup.config.psd1
# DailyBackup Configuration File # # This file contains default settings for the DailyBackup module. # You can modify these values to customize the behavior of the module. # # To use this configuration file, place it in one of these locations: # 1. Same directory as the module: DailyBackup.config.psd1 # 2. User profile: $HOME\.dailybackup\config.psd1 # 3. System-wide: $env:ProgramData\DailyBackup\config.psd1 @{ # Default settings DefaultSettings = @{ # Default destination path for backups # Use '.' for current directory, or specify a full path DefaultDestination = '.' # Default number of daily backups to keep (-1 = keep all) DefaultBackupsToKeep = 7 # Default compression level for ZIP archives # Valid values: Optimal, Fastest, NoCompression, SmallestSize CompressionLevel = 'Optimal' # Whether to include hidden files and folders in backups IncludeHidden = $false # Whether to follow symbolic links FollowSymLinks = $false # Maximum file size to include in backup (in MB, 0 = no limit) MaxFileSizeMB = 0 } # Logging settings Logging = @{ # Enable logging to file EnableFileLogging = $true # Log file path (relative to destination or absolute) LogPath = 'DailyBackup.log' # Log level: Error, Warning, Information, Verbose LogLevel = 'Information' # Maximum log file size in MB before rotation MaxLogSizeMB = 10 # Number of old log files to keep LogRetention = 5 } # Performance settings Performance = @{ # Enable progress reporting ShowProgress = $true # Parallel processing for multiple paths UseParallelProcessing = $false # Maximum number of parallel jobs MaxParallelJobs = 4 # Buffer size for file operations (in bytes) BufferSize = 65536 } # Exclusion patterns Exclusions = @{ # File extensions to exclude (without the dot) ExcludeExtensions = @('tmp', 'temp', 'log', 'bak', 'old') # File patterns to exclude (supports wildcards) ExcludePatterns = @('*~', '*.swp', 'Thumbs.db', '.DS_Store') # Directory names to exclude ExcludeDirectories = @('.git', '.svn', 'node_modules', 'bin', 'obj') # Enable exclusion rules EnableExclusions = $true } # Notification settings Notifications = @{ # Send email notifications on completion EnableEmail = $false # SMTP settings for email notifications SmtpServer = '' SmtpPort = 587 SmtpUsername = '' SmtpPassword = '' SmtpUseSSL = $true # Email recipients ToAddress = @() FromAddress = '' # Send notifications only on errors NotifyOnErrorOnly = $true } # Advanced settings Advanced = @{ # Use alternative removal method for cloud drives UseAlternativeRemoval = $true # Verify backup integrity after creation VerifyBackups = $false # Create checksums for backup files CreateChecksums = $false # Retry failed operations RetryCount = 3 # Delay between retries (in seconds) RetryDelay = 5 } } |