tschifftner.automysqlbackup
Ansible-Rolle: automysqlbackup
Installiert automysqlbackup auf Debian/Ubuntu-Linux-Servern.
Anforderungen
mail
muss verfügbar sein
Nutze apt install mailutils
oder simuliere Mail durch touch /usr/local/bin/mail
Rollenvariablen
Verfügbare Variablen sind unten aufgelistet, zusammen mit Standardwerten (siehe defaults/main.yml
):
# Datenbankbenutzername und Passwort, die die Backups durchführen
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}')"
# Hostname oder IP-Adresse des Datenbankservers
automysqlbackup_host: localhost
# Leerzeichen-getrennter String von Datenbanken, die in das Backup einbezogen oder ignoriert werden sollen
#automysqlbackup_db_names: "all"
automysqlbackup_db_exclude:
- 'information_schema'
- 'mysql'
- 'performance_schema'
- 'test'
automysqlbackup_table_exclude: []
automysqlbackup_backup_dir: /var/backup/db
automysqlbackup_multicore: "{{ 'ja' if ansible_processor_cores > 0 else 'nein' }}"
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) }}"
# Wochentag für wöchentliche Backups (6 - Samstag)
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: 'ja'
automysqlbackup_mysql_dump_dbstatus: 'ja'
automysqlbackup_mysql_dump_create_database: 'nein'
automysqlbackup_mysql_dump_use_separate_dirs: 'ja'
automysqlbackup_mysql_dump_compression: 'gzip'
automysqlbackup_mysql_dump_latest: 'ja'
automysqlbackup_mysql_dump_latest_clean_filenames: 'ja'
# Ausgabestandort (Log, Dateien, stdout, ruhig) und wo die Ausgabe gesendet wird (Benutzer / E-Mail-Adresse)
automysqlbackup_mailcontent: ruhig
automysqlbackup_mailaddr: root
# Standard-Cron-Konfiguration
automysqlbackup_cron_minute: 6
automysqlbackup_cron_hour: 20
automysqlbackup_cron_day: '*'
automysqlbackup_cron_month: '*'
automysqlbackup_cron_weekday: '*'
# Erfordert vollen Zugriff als Root-Benutzer im CLI
automysqlbackup_export_privileges: true
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: server
roles:
- { role: tschifftner.automysqlbackup }
Privilegien exportieren
Benutzer-Anmeldeinformationen können über Cron exportiert werden. Bitte setze automysqlbackup_export_privileges
auf true und stelle sicher, dass der Root-Benutzer sich nicht im CLI anmelden muss.
Datenbank wiederherstellen
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
oder
bzip2 -d my_database.sql.bz2 | mysql -h localhost -u root -p my_database
Unterstützte Betriebssysteme
- Debian 9 (Stretch)
- Debian 8 (Jessie)
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 16.04 (Xenial Xerus)
Erforderliche Ansible-Version
Ansible 2.5+
Lizenz
Autoreninformationen
Über das Projekt
Installs automysqlbackup on Debian/Ubuntu linux servers.
Installieren
ansible-galaxy install tschifftner.automysqlbackup
Lizenz
mit
Downloads
264
Besitzer
Kubernetes Software Architekt, Magento Certified Developer und Full-Stack Entwickler