Un simple script bash pour la sauvegarde de la base de données MySQL
- 3840
- 1010
- Maxence Arnaud
Q. Comment planifier la sauvegarde de la base de données MySQL? Un script bash pour la sauvegarde de la base de données MySQL. Dans ce tutoriel, vous trouverez un simple script bash, qui prend la sauvegarde de la base de données MySQL, archiver la sauvegarde et le stockage du système local. Ce scriptra également pour supprimer les anciens sauvegardes du disque à l'espace libre. Vous pouvez spécifier le nombre de jours pour maintenir la sauvegarde sur le disque local. Vous pouvez également utiliser ce tutoriel pour sauvegarder la base de données MySQL et stocker une copie sur le serveur FTP distant.
Créer le script de sauvegarde MySQL
Maintenant, copiez le contenu suivant dans un fichier de script (comme: / sauvegarde / mysql-backup.sh) et enregistrer sur votre système Linux. Utilisez ce lien pour télécharger le script. Après que modifier certaines valeurs de configuration dans la section «Mettre à jour les valeurs inférieures» dans le script selon votre environnement.
#!/ bin / bash ############################################### ################### ## ## ## Script de sauvegarde de la base de données MySQL ## Écrit par: Rahul Kumar ## URL: https: // tecadmin.net / bash-script-mysql-database-backup / ## dernière mise à jour: 05 janvier 2019 ## ######################### ###################################### # ° / local / bin dès aujourd'hui = "Date +"% d% b% y "" ################################ ################################## ################## Mise à jour ci-dessous les valeurs ######################### ° DB_BACKUP_PATH = "/ BACKUP / DBBACKUP" MySQL_HOST = "LocalHost" MySQL_PORT = "3306" MySQL_USER = "ROOT" Mysql_password = "mysecret" database_name = "mydb" backup_retain_days = 30 ## nombre de jours pour garder la copie de sauvegarde locale ######################### ####################################### Mkdir -p $ db_backup_path / $ Today echo "Sauvegarde démarrée pour la base de données - $ database_name" MySQLDump -H $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ $ database_name | gzip> $ db_backup_path / $ aujourd'hui / $ database_name - $ aujourd'hui.SQL.gz si [$? -Eq 0]; ECHO "Erreur de sauvegarde de la base de données terminée avec succès" Else Echo "Trouvé lors de la sauvegarde" Exit 1 fi #### Supprimer les sauvegardes plus anciennes que Backup_Retain_Days Days ##### dbDeldate = "Date +"% d% b% y " --Date = "$ backup_retain_days il y a des jours" "If [ ! -z $ db_backup_path]; alors cd $ db_backup_path si [ ! -z $ dbdeldate] && [-d $ dbDelDate]; puis rm -rf $ dbdeldate fi fi ### fin du script ####123456789101112131415161718192021222324252627282930313233343536373839404142434577 | #!/ bin / bash ############################################### ####################### Script de sauvegarde de la base de données MySQL ## Écrit par: Rahul Kumar ## URL: https: // tecadmin.net / bash-script-mysql-database-backup / ## Dernière mise à jour: 05 janvier 2019 ########################### ###################################### # ° / local / bintoday = 'date + "% d% b% y"' ################################# ################################################# Mise à jour Valeurs ci-dessous ########################## db_backup_path = '/ backup / dbbackup'mysql_host =' localhost'mysql_port = '3306'mysql_user =' root'mysql_password = 'MySecret'database_Name =' Mydb'Backup_Retain_Days = 30 ## Nombre de jours pour garder la copie de sauvegarde locale ########################### ###################################### Mkdir -p $ db_backup_path / $ "La sauvegarde a démarré pour la base de données - $ database_name" mysqldump -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ $ database_name | gzip> $ db_backup_path / $ aujourd'hui / $ database_name - $ aujourd'hui.SQL.gz si [$? -Eq 0]; EXO ECHO "Basculement de la base de données avec succès terminé" Else Echo "Erreur trouvée lors de la sauvegarde" Exit 1fi #### ° de supprimer les sauvegardes plus anciennes que Backup_Retain_Days Days ##### dbdeldate = 'date + "% d% b% y" - -Date = "$ backup_retain_days il y a des jours" 'if [ ! -z $ db_backup_path]; alors cd $ db_backup_path si [ ! -z $ dbdeldate] && [-d $ dbDelDate]; puis rm -rf $ dbdeldate fiFi ### fin du script #### |
Après avoir créé ou téléchargé le script, assurez-vous de définir l'autorisation d'exécution pour s'exécuter correctement.
chmod + x / backup / mysql-backup.shot
Planifier le script à Crontab
Planifiez maintenant le script à Crontab pour s'exécuter quotidiennement et compléter régulièrement la sauvegarde. Modifier Crontab sur votre système avec crontab -e
commande. Ajouter les paramètres suivants pour activer la sauvegarde à 2 heures du matin.
0 2 * * * Root / Backup / MySQL-Backup.shot
Enregistrer votre fichier Crontab. Après avoir activé Cron, le script prendra automatiquement la sauvegarde, mais continuez à vérifier les sauvegardes sur une base hebdomadaire ou mensuelle pour vous assurer.
- « Comment supprimer les lignes vides du fichier
- Comment configurer la réplication maître-esclave de MySQL »