coaxial.backup
备份角色
此 Ansible 角色将安装和配置 tarsnap 和 tarsnapper,以便定期进行加密备份。
这些备份存储在 tarsnap 上,该服务使用 Amazom S3。
了解更多关于 Tarsnap,真正偏执者的在线备份。
要求
- 拥有一个带资金的 tarsnap 账户
- 此角色仅在 Ubuntu 16.04 上进行测试(如果有兴趣,我会扩展到其他平台,请通过开一个问题来告诉我)
- 在你的 playbook 中需要有 tarsnapper 配置文件,路径为
templates/tarsnapper.yml.j2
(如何编写 tarsnapper 配置文件) - 在你的 playbook 中需要有 tarsnap 配置文件,路径为
templates/tarsnap.conf.j2
(如何编写 tarsnap 配置文件)
角色变量
变量 | 默认值 | 说明 |
---|---|---|
backup__rebuild_cache |
false |
将跳过 tarsnap --fsck |
backup__tarsnap_cachedir |
/usr/local/tarsnap-cache |
设置 tarsnap 缓存备份的目录(参考 tarsnap.conf 手册) |
backup__tarsnap_keyfile |
/root/tarsnap.key |
设置 tarsnap 密钥保存的路径 |
backup__tarsnap_apt_key |
40B98B68F04DE775 |
用于签名 tarsnap 包的密钥 ID |
backup__tarsnap_username |
[email protected] |
tarsnap.com 的用户名(只有在需要生成新 tarsnap 密钥时需要) |
backup__tarsnap_password |
encrypt me |
tarsnap.com 的密码(只有在需要生成新 tarsnap 密钥时需要) |
backup__tarsnapper_config_file |
/etc/tarsnapper.yml |
设置 tarsnapper 作业配置在目标主机保存的路径 |
backup__tarsnapper_log_file |
/var/log/tarsnapper.log |
设置 cron 作业日志保存的路径 |
backup__cron_{minute,hour,dom,month,dow} |
分别为:28 , 3 , * , * , * |
运行 tarsnap 进行备份的时间间隔 |
注意事项
如果在 files/{{ ansible_hostname }}.yml
找不到 tarsnap 密钥文件,将使用 backup__tarsnap_username
和 backup__tarsnap_password
变量生成一个新的 Tarsnap 密钥,并注册新机器为 {{ ansible_host }}
。
如果在 files/{{ ansible_hostname }}.yml
找到 tarsnap 密钥,则将使用该密钥,不会生成新密钥或注册新机器。
如果“添加 tarsnap apt 密钥”任务失败,表示包的密钥已更改,但我尚未更新角色。请检查当前密钥是什么,访问 https://www.tarsnap.com/pkg-deb.html,然后用 backup__tarsnap_apt_key
变量覆盖其值,并开一个问题让我更新角色中的新密钥。
依赖项
无。
示例 Playbook
- hosts: all
roles:
- role: coaxial.backup
许可证
MIT
作者信息
Coaxial <64b.it>