User Tools

Site Tools


linux:mysql_bkp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
linux:mysql_bkp [2022/01/14 14:41]
manu [MySQL backup]
linux:mysql_bkp [2022/01/14 14:43] (current)
manu
Line 2: Line 2:
  
 ===== script dump ===== ===== script dump =====
 +
 +==== script 1 ====
 +
 +<​code>​
 +#!/bin/bash
 +# Mettre un date au nom du fichier
 +DATE=$(date +"​%Y%m%d"​)
 +
 +# Dossier de sauvegarde
 +BACKUP_DIR="/​backup/​mysqldump"​
 +
 +# MySQL username/​password
 +MYSQL_USER="​root"​
 +MYSQL_PASSWORD="​YOURSECUREPASSWORD"​
 +
 +# Commandes MySQL nécessaires pour faire le backup
 +MYSQL=/​usr/​bin/​mysql
 +MYSQLDUMP=/​usr/​bin/​mysqldump
 +
 +# Bases de données MySQL que vous voulez ignorer
 +SKIPDATABASES="​information_schema|performance_schema|mysql|database1|database2"​
 +
 +# Rétention des données (les jours pour garder les backups)
 +RETENTION=5
 +
 +# Création d'un nouveau dossier avec la date du jour
 +mkdir -p $BACKUP_DIR/​$DATE
 +
 +# Donne la liste de toutes les bases des données. ​
 +databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;"​ | grep -Ev "​($SKIPDATABASES)"​`
 +
 +# Copier les bases des données distinctes et fait un fichier gzip pour chaque database.
 +for db in $databases; do
 +echo $db
 +$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --skip-lock-tables --events --databases $db | gzip > "​$BACKUP_DIR/​$DATE/​$db.sql.gz"​
 +done
 +
 +# Efface les fichiers plus vieux que votre date de RETENTION
 +find $BACKUP_DIR/​* -mtime +$RETENTION -delete
 +</​code>​
 +
 +==== script 2 ====
  
 <​code>​ <​code>​
linux/mysql_bkp.1642167692.txt.gz · Last modified: 2022/01/14 14:41 by manu