tschifftner.automysqlbackup

Rôle Ansible : automysqlbackup

État de la construction

Installe automysqlbackup sur les serveurs Linux Debian/Ubuntu.

Exigences

mail doit être disponible

Utilisez apt install mailutils ou créez un faux mail avec touch /usr/local/bin/mail

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml) :

# nom d'utilisateur et mot de passe de la base de données qui effectuera les sauvegardes
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}')"

# nom d'hôte ou adresse IP du serveur de base de données
automysqlbackup_host: localhost

# chaîne de bases de données à inclure ou ignorer dans la sauvegarde
#automysqlbackup_db_ames: "all"
automysqlbackup_db_exclude:
  - 'information_schema'
  - 'mysql'
  - 'performance_schema'
  - 'test'

automysqlbackup_table_exclude: []

automysqlbackup_backup_dir: /var/backup/db
automysqlbackup_multicore: "{{ 'oui' if ansible_processor_cores > 0 else 'non' }}"
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) }}"

# jour de la semaine pour les sauvegardes hebdomadaires (6 - Samedi)
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: 'oui'
automysqlbackup_mysql_dump_dbstatus: 'oui'
automysqlbackup_mysql_dump_create_database: 'non'
automysqlbackup_mysql_dump_use_separate_dirs: 'oui'
automysqlbackup_mysql_dump_compression: 'gzip'
automysqlbackup_mysql_dump_latest: 'oui'
automysqlbackup_mysql_dump_latest_clean_filenames: 'oui'

# emplacement de sortie (journal, fichiers, stdout, silencieux) et où la sortie est envoyée (utilisateur / adresse e-mail)
automysqlbackup_mailcontent: silencieux
automysqlbackup_mailaddr: root

# configuration cron par défaut
automysqlbackup_cron_minute: 6
automysqlbackup_cron_hour: 20
automysqlbackup_cron_day: '*'
automysqlbackup_cron_month: '*'
automysqlbackup_cron_weekday: '*'

# nécessite un accès complet en tant qu'utilisateur root sur la ligne de commande
automysqlbackup_export_priviledges: true

Dépendances

Aucune.

Exemple de Playbook

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

Export des privilèges

Les informations d'identification de l'utilisateur peuvent être exportées via cron. Veuillez définir automysqlbackup_export_priviledges sur true et assurez-vous que l'utilisateur root n'exige pas de connexion sur la ligne de commande.

Restauration de la base de données

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

ou

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

Systèmes d'exploitation pris en charge

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

Version ansible requise

Ansible 2.5+

Licence

Licence MIT

Informations sur l'auteur

À propos du projet

Installs automysqlbackup on Debian/Ubuntu linux servers.

Installer
ansible-galaxy install tschifftner.automysqlbackup
Licence
mit
Téléchargements
264
Propriétaire
Kubernetes Software Architekt, Magento Certified Developer und Full-Stack Entwickler