tschifftner.automysqlbackup

Ansibleロール: automysqlbackup

ビルドステータス

Debian/Ubuntu Linuxサーバーにautomysqlbackupをインストールします。

要件

mail が利用可能である必要があります

apt install mailutilsを使用するか、touch /usr/local/bin/mailでダミーメールを作成します。

ロール変数

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

# バックアップを実行するデータベースのユーザー名とパスワード
automysqlbackup_username: "$(grep user /etc/mysql/debian.cnf | tail -n 1 | cut -d'=' -f2 | awk '{print $1}')"
automysqlbackup_password: "$(grep password /etc/mysql/debian.cnf | tail -n 1 | cut -d'=' -f2 | awk '{print $1}')"

# データベースサーバーのホスト名またはIPアドレス
automysqlbackup_host: localhost

# バックアップに含めるまたは除外するデータベースのスペース区切りの文字列
#automysqlbackup_db_ames: "all"
automysqlbackup_db_exclude:
  - 'information_schema'
  - 'mysql'
  - 'performance_schema'
  - 'test'

automysqlbackup_table_exclude: []

automysqlbackup_backup_dir: /var/backup/db
automysqlbackup_multicore: "{{ 'yes' if ansible_processor_cores > 0 else 'no' }}"
automysqlbackup_multicore_threads: "{{ (ansible_processor_cores/2 | int) if ansible_processor_cores > 2 else 1 }}"
automysqlbackup_multicore_threads: "{{ 1 if ansible_processor_cores <= 3 else (ansible_processor_cores/2) }}"

# 毎週のバックアップを行う曜日(6 - 土曜日)
automysqlbackup_do_monthly: '01'
automysqlbackup_do_weekly: '5'
automysqlbackup_rotation_daily: '6'
automysqlbackup_rotation_weekly: '35'
automysqlbackup_rotation_monthly: '150'

automysqlbackup_mysql_dump_single_transaction: 'yes'
automysqlbackup_mysql_dump_dbstatus: 'yes'
automysqlbackup_mysql_dump_create_database: 'no'
automysqlbackup_mysql_dump_use_separate_dirs: 'yes'
automysqlbackup_mysql_dump_compression: 'gzip'
automysqlbackup_mysql_dump_latest: 'yes'
automysqlbackup_mysql_dump_latest_clean_filenames: 'yes'

# 出力場所(ログ、ファイル、標準出力、静か)と出力が送信される場所(ユーザー/メールアドレス)
automysqlbackup_mailcontent: quiet
automysqlbackup_mailaddr: root

# デフォルトのcron設定
automysqlbackup_cron_minute: 6
automysqlbackup_cron_hour: 20
automysqlbackup_cron_day: '*'
automysqlbackup_cron_month: '*'
automysqlbackup_cron_weekday: '*'

# cliでのrootユーザーとしてのフルアクセスが必要
automysqlbackup_export_priviledges: true

依存関係

なし。

サンプルプレイブック

- hosts: server
  roles:
    - { role: tschifftner.automysqlbackup }

権限のエクスポート

ユーザーの資格情報はcron経由でエクスポートできます。automysqlbackup_export_priviledgesをtrueに設定し、rootユーザーがcliでのログインを必要としないことを確認してください。

データベースの復元

gzip

gzip -dc my_database.sql.gz | mysql -h localhost -u root -p my_database

bzip2

bunzip2 < my_database.sql.bz2 | mysql -h localhost -u root -p my_database

または

bzip2 -d my_database.sql.bz2 | mysql -h localhost -u root -p my_database

対応OS

  • Debian 9 (Stretch)
  • Debian 8 (Jessie)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 16.04 (Xenial Xerus)

必須Ansibleバージョン

Ansible 2.5以上

ライセンス

MITライセンス

著者情報

プロジェクトについて

Installs automysqlbackup on Debian/Ubuntu linux servers.

インストール
ansible-galaxy install tschifftner.automysqlbackup
ライセンス
mit
ダウンロード
264
所有者
Kubernetes Software Architekt, Magento Certified Developer und Full-Stack Entwickler