timorunge.freeipa_server_backup

freeipa_server_backup

此角色负责您的 FreeIPA 服务器的备份。

要求

此角色要求使用 Ansible 2.6.0 或更高版本。

您可以简单地使用 pip 安装(并指定)一个稳定版本:

pip install ansible==2.7.9

所有平台要求列在元数据文件中。

要使用此角色,请查看 依赖项

还可以查看 官方文档

安装

ansible-galaxy install timorunge.freeipa_server_backup

角色变量

此角色可传递的变量及其简要说明如下。 (有关所有变量,请查看 defaults/main.yml

在此时,遗憾的是无法设置备份目录。这是 ipa-backup 命令本身的限制(默认位置是 /var/lib/ipa/backup)。

# 定义备份的最大年龄(以天为单位)
# 类型:整型
freeipa_server_backup_max_age: 14

# 定义何时应运行完全备份
# (这将停止并启动 ipa 服务!)
# 类型:字典
freeipa_server_backup_cron_full:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: 4
  day: "*"
  state: present

# 定义何时应运行在线备份
# 类型:字典
freeipa_server_backup_cron_online:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: "*"
  day: "*"
  state: present

示例

1) 使用默认设置安装 FreeIPA 服务器备份

- hosts: freeipa-server-backup
  roles:
    - timorunge.freeipa_server_backup

2) 使用一些自定义设置安装 FreeIPA 服务器备份

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_max_age: 7
    freeipa_server_backup_cron_full:
      day: "*"
      hour: 3
      minute: "11"
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_online:
      day: "*"
      hour: "*"
      minute: 33
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_delete:
      day: "*"
      hour: 3
      minute: 55
      month: "*"
      state: present
      weekday: "*"
  roles:
    - timorunge.freeipa_server_backup

3) 安装 FreeIPA 服务器备份并将数据移动到另一个位置(通过 rsync)

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_mv_location: rsync
    freeipa_server_backup_rsync_opts:
      - "-avq"
      - "--ignore-existing"
      - '-e "ssh -i /home/ipa-backups/.ssh/id_rsa"'
    freeipa_server_backup_rsync_dest: [email protected]:/var/backups/ipa-backup
  roles:
    - timorunge.freeipa_server_backup

测试

构建状态

使用 Dockerdocker_test_runner 进行测试,启动以下容器:

  • CentOS 7
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 17.10 (Artful Aardvark)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 18.10 (Cosmic Cuttlefish)

在所有容器上安装了 Ansible 2.7.9,并在本地应用 测试剧本

有关更多详细信息和额外检查,请查看 docker_test_runner 配置Docker 启动脚本

# 本地测试:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

依赖项

此角色需要一个正在运行的 FreeIPA 服务器 (Github 仓库)。

如果您使用的操作系统未直接提供 FreeIPA 包,您可以使用上述 Ansible 角色。

在这种情况下,请确保将 freeipa_server_backup_install_pkgs 设置为 false (这将禁用此角色的完整软件包安装)。

待办事项

  • 添加加密备份的可能性(--gpg--gpg-keyring=GPG_KEYRING
  • 将文件移到异地位置(s3,rsync 和 ssh

许可证

BSD 3-Clause "New" or "Revised" License

作者信息

  • Timo Runge
安装
ansible-galaxy install timorunge.freeipa_server_backup
许可证
Unknown
下载
9.1k
拥有者