<# BakNRet 配置文件。 优先级:命令行参数 > 本文件 > 代码内置默认值。 本文件缺失或某键缺失都直接用默认值,不会报错。 #> @{ # 归档存放目录(相对路径按脚本所在目录解析) BackupDir = 'Backups' # 每次运行的日志目录(backup-<时间戳>.log / restore-<时间戳>.log) LogDir = 'logs' # 使用 -Snapshot 时留存带时间戳的副本 SnapshotDir = 'Backups\snapshots' # 低于这个剩余空间(GB)就告警;真正放不下某个条目时会直接跳过该条目 MinFreeSpaceGB = 5 # 归档写完后用 `7z t` 校验内容 CRC,失败则丢弃临时文件 VerifyArchive = $true # 是否默认给所有归档计算 SHA256(大归档会明显变慢) ComputeHash = $false # 7z 压缩级别 0-9 CompressionLevel = 9 # 压缩工具的实时输出:live = 直接显示(默认);quiet = 抑制,只留日志与 manifest ToolOutput = 'live' # 是否默认给所有条目留存快照 Snapshot = @{ Enabled = $false KeepCount = 3 KeepDays = 30 } # 加密。默认关闭:一旦开启而口令丢失,备份就再也解不开。 # 口令来源:环境变量 BAKNRET_PASSWORD,或 PasswordFile 指向的文件首行(用 -KeyFile 覆盖)。 # 开启方式见 README「加密」一节。注意 7z 只接受命令行口令, # 口令在本机进程列表里短暂可见,这是 7z 本身的限制。 Encryption = @{ Enabled = $false PasswordFile = '' EncryptHeaders = $true } # 所有条目都生效的排除模式,语法同 BackupList.txt(! 开头 = 任意层级匹配组件名) DefaultExcludes = @( '!Thumbs.db' '!desktop.ini' ) }