otakup0pe.dupwrap
dup
licity wrap
per
这个 Ansible 角色为 duplicity 备份工具安装了一个简单的包装器。它有两种工作模式 - 备份到 Amazon S3 或加密的 Mac 磁盘映像在外部存储设备上。dupwrap
工具支持在单个主机上的多个备份配置。它可以作为 root
用户运行以备份服务器,或作为其他用户备份工作站。
S3 模式
该模式将上传 GPG 加密的备份到指定的 S3 存储桶。与提供的 API 密钥相关联的 IAM 用户需要具备读/写权限。
Mac USB 模式
该模式将在外部存储设备上创建/维护一个加密卷。虽然这样会导致双重加密,但我并不介意。该模式目前 不 支持定时备份。
变量
这些是有默认值的变量。这些值的选择旨在使整个服务器的备份变得简单,只需添加源和目标。
dupwrap_user
默认值为root
dupwrap_group
默认值为root
dupwrap_config_prefix
默认值为/etc
dupwrap_bin_prefix
默认值为/usr/local/bin
dupwrap_cron
默认值为false
- 启用以设置 cron 任务dupwrap_cron_verbose
默认值为false
,但你可以让它输出更多信息dupwrap_n_full
默认值为3
,控制要保留的完整备份数量dupwrap_remove_older
默认值为12
,将删除超过指定月份的老旧备份dupwrap_full_older
默认值为30D
,确定强制进行完整备份的频率
可以定义多个备份配置。它们都存储在相对于配置前缀的名为 dupwrap
的目录中。dupwrap_backups
变量用于定义备份配置。该变量包含一个 yaml 对象的列表,可能会使用全局设置作为默认值。
passphrase
(默认为dupwrap_passphrase
)指定用于加密过程的密码aws_access_key
(默认为dupwrap_aws_access_key
)是 AWS 访问密钥 ID,S3 备份时需要aws_secret_key
(默认为dupwrap_aws_secret_key
)是 AWS 秘密访问密钥,S3 备份时需要bucket
(默认为dupwrap_bucket
)是要使用的 S3 URI,S3 备份时需要
如果备份到 Mac/USB,必须传递以下实例变量:
dupwrap_unencrypted_volume
是要使用的已挂载外部卷的名称dupwrap_encrypted_volume
是要创建的加密卷的名称dupwrap_encrypted_volume_size
是卷的大小,默认为256m
dupwrap
脚本
该脚本是 duplicity
的接口。如果使用 cron,则会被调用。所有 mac/usb 交互都会要求输入密码。
选项
这些选项会改变默认行为。注意,有些操作需要指定配置。
-d
在 mac 备份中指定时,会在备份完成后保持挂载。-v
输出大量调试信息-f
在删除内容时跳过确认-c
指定存储配置文件的目录。默认值为dupwrap_config_prefix
设置的内容-p
指定备份配置。-t
指定恢复文件的时间。我不知道为什么这会是选项而不是操作参数。可能是因为我对计算机不太在行。
操作
backup
将启动备份。如果未指定配置,则将运行所有找到的备份。list
列出最近备份中的所有内容restore_file
将恢复特定文件到给定位置restore_file <file> <dest>
恢复最近的文件
status
显示备份集的基本信息prune
将删除旧备份。如果未指定配置,则所有找到的备份将被清除。
在 macOS 上,还有一些额外的操作可用。
init
将创建加密磁盘映像purge
将删除加密磁盘映像mount
将挂载加密磁盘映像unmount
将卸载加密磁盘映像
交换助手
交换助手脚本(dupwrap-swap-helper
)旨在与 pre_script
和 post_script
作业变量一起使用。它在调用时带有一个参数,该参数是 pre
或 post
。
许可证
作者
这个 Ansible 角色由 Jonathan Freedman 创建,因为他厌倦了因数据的不可抗拒衰减而丢失东西。