J’ai créé ce rôle Ansible Automysqlbackup qui est compatible Debian, Ubuntu et la branche Redhat pour déployer le fork d’Automysqlbackup remis aux normes actuelles. Ce rôle est disponible sur Ansible Galaxy et le projet est disponible sur github également.
Installation du rôle Ansible Automysqlbackup
Pour installer ce rôle de configuration sous Debian ou Ubuntu rien de plus simple :
ansible-galaxy install belgotux.automysqlbackup
Pré-requis
Il est préférable de créer un utilisateur spécifique pour automysqlbackup sur chaque serveur devant être sauvegardé. Pour cela les droits suivants sont nécessaire :
CREATE USER 'automysqlbackup'@'serverA' IDENTIFIED BY '<your_password_secret>';
GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER,USAGE ON *.* TO 'automysqlbackup'@'serverA' ;
Pour utiliser le rôle Ansible Automysqlbackup en local, les droits suivants :
CREATE USER 'automysqlbackup'@'localhost' IDENTIFIED BY '<your_password_secret>';
GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER,USAGE ON *.* TO 'automysqlbackup'@'localhost' ;
Configuration des variables Ansible
Nécessaires
Configuration du serveur :
automysqlbackup_reporépertoire où déposer le projet git (défaut/opt)automysqlbackup_clientbinaire sql client à utiliser, soit mariadb-client ou mysql-client (défautmariadb-client)automysqlbackup_binrépertoire où copier le script (défaut/usr/local/bin)automysqlbackup_confrépertoire des configurations (défaut/etc/automysqlbackup)automysqlbackup_backupdirrépertoire des sauvegardes
Configuration du client SQL
automysqlbackup_default_userutilisateur MySQL utilisé par défaut pour les serveurs (défautautomysqlbackup)automysqlbackup_default_passwdmot de passe MySQL utilisé par défaut pour les serveursautomysqlbackup_configurationsliste des serveurs à sauvegarder. Prend la valeur deautomysqlbackup_default_user,automysqlbackup_default_passwd, etc siuser,passwd, etc n’est pas défini
automysqlbackup_configurations:
- name: server1
server: xxx.yourdomain.tld
port: 3306 # default use 3306
user: test # default use `automysqlbackup_default_user`
passwd: testpwd # default use `automysqlbackup_default_passwd`
cron: "0 23 * * *" # default use `automysqlbackup_default_cron`
montly: 01 # default use `automysqlbackup_monthly`
weekly: 5 # default use `automysqlbackup_weekly`
daily_to_keep: 5 # default use `automysqlbackup_daily_to_keep`
weekly_to_keep: 4 # default use `automysqlbackup_weekly_to_keep`
monthly_to_keep: 3 # default use `automysqlbackup_monthly_to_keep`
- name: server2
server: 192.168.x.x
automysqlbackup_default_db_excludeliste des bases de données exclues par défaut si la variabledb_namesn’est pas remplie sur la configuration serveur (défaut «('information_schema' 'performance_schema' 'sys' )« )automysqlbackup_default_table_excludeliste des tables à exclure au format db_name.table_name (défaut «('mysql.event')« )automysqlbackup_default_crondéfini le cron par défaut à utiliser pour tous les serveurs, exemple"0 23 * * *"automysqlbackup_create_userutilisateur système à créer par le rôle,trueorfalse? Créeautomysqlbackup_default_cron_user(défauttrue)
Facultatif
Server configuration
automysqlbackup_multicoreutilisation de compression multicore pigz pour gzip ou pbzip2 pour bzip2. Peut être'yes'ou'no'(défaut'no')automysqlbackup_multicore_threadsnombre de cpu à utiliser. Peut être un nombre ouautopour laisser pigz ou pbzip2 choisir (défautauto)automysqlbackup_default_cron_userutilisateur à utiliser pour exécuter le cron (defaultautomysqlbackup)automysqlbackup_default_cron_groupgroupe à utiliser pour le dossier de backup (défautusers)automysqlbackup_default_cron_pathrépertoire cron (défaut/etc/cron.d)
SQL client configuration
automysqlbackup_monthlyquelle jour faire le backup mensuel ? (01 à 31) mettre 0 pour désactivé le backup mensuel (défaut01)automysqlbackup_weeklyuelle jour faire le backup hebdomadaire ? (1 à 7 ou 1 est lundi) mettre 0 pour désactivé le backup hebdomadaire (défaut5)automysqlbackup_daily_to_keepcombien de backups journaliers à garder (défaut6)automysqlbackup_weekly_to_keepcombien de backups hebdomadaires à garder (défaut28)automysqlbackup_monthly_to_keepcombien de backups mensuels à garder (défaut180)automysqlbackup_no_tablespacesle droits sql PROCESS est nécessaire depuis MySQL 5.7.31 et 8.0.21, l’option –no-tablespaces permet d’éviter d’avoir l’erreur. Peut être'yes'ou'no'(défaut'yes')automysqlbackup_dump_usesslUtiliser le chiffrement SSL avec mysqldump ? Peut être'yes'ou'no'(défaut'no')automysqlbackup_dump_single_transactionLors de l’utilisation de cette option, il est important de noter que seules les tables InnoDB sont sauvegardées dans un état cohérent. Par exemple, toutes les tables MyISAM ou MEMORY sauvegardées lors de l’utilisation de cette option peuvent encore changer d’état. Peut être'yes'ou'no'(défaut'no')automysqlbackup_dump_dbstatusStatut de sauvegarde de table(s) dans un fichier texte. Cela est très utile lors de la restauration des sauvegardes, car cela donne une idée des changements survenus entre-temps. Peut être'yes'ou'no'(défaut'no')automysqlbackup_dump_create_databaseInclure la commande CREATE DATABASE dans le backup. Peut être'yes'ou'no'(défaut'no')automysqlbackup_dump_use_separate_dirsséparer le répertoire de backup pour chaque base de données. Peut être'yes'ou'no'(défaut'yes')automysqlbackup_dump_compressionchoisir une compression du typegziporbzip2(défautgzip)automysqlbackup_dump_latestStocker une copie supplémentaire (lien physique) de la dernière sauvegarde dans un emplacement standard afin qu’elle puisse être téléchargée par des scripts tiers. Peut être'yes'ou'no'(défaut'yes')automysqlbackup_dump_latest_clean_filenamesSupprimer toutes les informations de date et d’heure des noms de fichiers dans le dossier le plus récent. (défaut yes)automysqlbackup_mailcontentQue souhaitez-vous recevoir par courrier électronique :log(envoi les log),files(envoie les logs et fichiers sql en attaché),stdout(affiche les log dans la sortie standard utile pour l’exécution manuelle),quiet(envoie les log uniquement si une erreur apparait) (défautlog)automysqlbackup_mail_addressaddresse mail du destinataireautomysqlbackup_dryrunSimulation de ce qui sera fait, ne fait rien en réalité.0mode inactif,1mode actif (défaut0)



Laisser un commentaire