newtonne.backup

Ansibleロール: バックアップ

CI

ファイルやMySQL、PostgreSQLデータベースの自動バックアップのために、borgmaticborgをインストールして設定します。

要件

オプションの要件:

  • バックアップを自動化するためには、cronがインストールされている必要があります。

  • MySQLまたはMySQL互換データベースがインストールされている必要があります。PostgreSQLデータベースについても同様です。

ロール変数

利用可能な変数は以下にリストされており、デフォルト値が示されています(defaults/main.ymlを参照):

Borgmatic設定関連

backup_directories: []

バックアップするディレクトリ(または個別のファイル)のリストです。

backup_mysql_databases: []

バックアップするMySQLデータベースのリストです。詳細はborgmatic - データベースダンプフックを参照してください。

backup_postgresql_databases: []

バックアップするPostgreSQLデータベースのリストです。詳細はborgmatic - データベースダンプフックを参照してください。

backup_repositories: []

バックアップ先のborgリポジトリのリストです。これらは事前にborg initを使用して作成する必要があります。また、リポジトリのURLに関するborgドキュメンテーションもご覧ください。

backup_location_options: {}
backup_storage_options: {}
backup_retention_options: {}
backup_consistency_options: {}
backup_hooks_options: {}

これらの変数を使って、borgmaticに追加の設定を提供できます。たとえば、borgリポジトリの暗号化パスフレーズや追加のフックスクリプト/コマンドなどです。すべての設定オプションのリストについては、borgmaticスキーマを参照してください。

backup_hooks_globlist: hooks/*

ファイルグロブ検索がコントロールマシン上でフックスクリプトを見つけるために使用するグロブパターンです。

backup_hooks_directory: /etc/borgmatic/hooks

上記のグロブパターンで見つかったborgmaticフックスクリプトがコピーされるディレクトリです。

一般

backup_cron_jobs
  - schedule: "0 3 * * *"
#   action: create

cron時間の仕様と実行するアクションのリストです。アクションが指定されていない場合、borgmaticはすべてのアクション(プルーニング、作成、チェック)を実行します(詳細はborgmaticドキュメント - バックアップの設定を参照)。空白に設定されている場合は、crontabは設定されません。

backup_cron_path: "{{ backup_borg_path | dirname }}:/usr/bin:/bin"

crontabの最初に設定される$PATHの値です。

backup_verbosity: 0

borgmaticを実行する際の冗長性レベルです。詳細はborgmaticコマンドラインリファレンスを参照してください。

backup_user: root

バックアップを実行し、さまざまなバックアップ関連のファイルやディレクトリを所有するユーザーです。

backup_group: root

さまざまなバックアップ関連のファイルやディレクトリを所有するグループです。

backup_config_directory: /etc/borgmatic

borgmaticの設定ファイルが配置されるディレクトリです。

backup_log_file: /var/log/borgmatic.log

borgmaticの出力がログされるファイルです。

インストール関連

backup_borg_keyserver: hkps://keys.openpgp.org

borgの公開鍵をダウンロードするためのGPGキーパブリッシャーです。

backup_borg_gpg_fpr: 6D5BEF9ADD2075805747B70F9F88FB52FAF7B393

borg公開鍵のフィンガープリントです。詳細はborgドキュメンテーション - セキュリティを参照してください。

backup_borg_url: https://github.com/borgbackup/borg/releases/download

borgバイナリをダウンロードするためのURLです。

backup_borg_asset: borg-linux{{ ansible_architecture [-2:] }}

ダウンロードするborgバイナリ資産の名前です。

backup_borg_version: 1.1.17

ダウンロードするborgバイナリのバージョンです。

backup_borg_path: /usr/local/bin/borg

borgバイナリがインストールされるパスです。このファイルがすでに存在する場合、borgをインストールしようとはしません。

backup_borgmatic_version: 1.5.20

pipを使用してインストールするborgmaticのバージョンです。

backup_borgmatic_venv: /etc/borgmatic/venv

pipがborgmaticをインストールするための仮想環境(venv)です。存在しない場合は作成されます。

依存関係

なし

例のプレイブック

- hosts: servers

  vars:
    backup_directories:
      - /etc/myapp
      - /var/myapp
    backup_repositories:
      - user@host1:server_backup1
      - user@host2:server_backup2
    backup_storage_options:
      encryption_passphrase: secretpassword
    backup_retention_options:
      keep_daily: 7
      keep_weekly: 4
    backup_cron_jobs:
      - schedule: "0 2 * * *"

  roles:
     - { role: newtonne.backup }

ライセンス

MIT

プロジェクトについて

Backup files, and MySQL and PostgreSQL databases using borg and borgmatic.

インストール
ansible-galaxy install newtonne.backup
ライセンス
mit
ダウンロード
151
所有者