# backup.sh 配置文件 # 所有配置项均可通过命令行参数覆盖(参数优先级高于本文件)。 # # 备份方式由命令行第一个位置参数决定: # bash backup.sh smb -> 使用本文件 SMB 段配置 # bash backup.sh sftp -> 使用本文件 SFTP 段配置(暂未实现) # ===== 公共配置(COMMON_*)===== # 要备份的源目录或文件(多个用空格分隔,需引号包裹) COMMON_SOURCE_PATHS="/opt" # 本地临时打包目录(用于存放归档/分卷/sha 文件,备份完成后会清理) COMMON_TMP_DIR="/tmp/backup" # 归档/远端目录命名前缀,最终形如 ${COMMON_ARCHIVE_PREFIX}-YYYYmmdd-HHMMSS/ COMMON_ARCHIVE_PREFIX="backup" # 上传完成后是否删除本地归档(true / false) COMMON_CLEAN_LOCAL="true" # 远端保留天数,0 表示不清理;按 ${COMMON_ARCHIVE_PREFIX}-YYYYmmdd-HHMMSS 目录整体清理 COMMON_RETENTION_DAYS=15 # 分卷大小,默认 1G;留空表示不分卷;非空时形如 1G / 500M / 100k # 文件名形如 backup-YYYYmmdd-HHMMSS.tar.gz.0 / .1 / .2 ... # 同目录下还会生成 backup-YYYYmmdd-HHMMSS.sha256(覆盖所有分卷的校验清单) # # 恢复(在备份目录里执行): # sha256sum -c backup-YYYYmmdd-HHMMSS.sha256 # 校验 # cat $(ls *.tar.gz.* | sort -V) | tar -xzf - # 合并并解压 COMMON_SPLIT_SIZE="1G" # ===== SMB / Samba 配置(仅 bash backup.sh smb 使用)===== # 服务器地址,例如 192.168.1.10 或 nas.local SMB_HOST="" # 共享名,例如 backup SMB_SHARE="" # 共享内的子目录(可选),例如 servers/web1 SMB_PATH="" # 用户名 / 密码 SMB_USER="" SMB_PASSWORD="" # 域 / 工作组(可选) SMB_DOMAIN="" # SMB 协议版本(可选),例如 3.0 SMB_VERSION="" # ===== SFTP 配置(仅 bash backup.sh sftp 使用,预留,暂未实现)===== SFTP_HOST="" SFTP_PORT="22" SFTP_USER="" SFTP_PASSWORD="" SFTP_KEY="" SFTP_PATH=""