tschifftner.automysqlbackup
Ansible角色:automysqlbackup
在Debian/Ubuntu Linux服务器上安装automysqlbackup。
要求
mail
必须可用
使用apt install mailutils
安装,或者通过touch /usr/local/bin/mail
创建伪造的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: '*'
# 需要作为root用户在CLI上具有完全访问权限
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
支持的操作系统
- Debian 9 (Stretch)
- Debian 8 (Jessie)
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 16.04 (Xenial Xerus)
所需ansible版本
Ansible 2.5+
许可证
作者信息
关于项目
Installs automysqlbackup on Debian/Ubuntu linux servers.
安装
ansible-galaxy install tschifftner.automysqlbackup
许可证
mit
下载
264
拥有者
Kubernetes Software Architekt, Magento Certified Developer und Full-Stack Entwickler