Maison > Article > Opération et maintenance > Introduction à un simple script bash pour la sauvegarde de la base de données MySQL
Comment implémenter la sauvegarde de la base de données MySQL ? Il est possible d'utiliser un script bash pour la sauvegarde de la base de données MySQL. Dans cet article, nous présenterons un simple script bash pour sauvegarder une base de données MySQL, archiver et stocker la sauvegarde sur le système local. Ce script bash supprimera également les anciennes sauvegardes du disque pour libérer de l'espace. Vous pouvez également spécifier le nombre de jours pendant lesquels conserver les sauvegardes sur le disque local.
Créer un script de sauvegarde MySQL
Maintenant, copiez le contenu suivant dans le fichier de script (tel que /backup/mysql backup. sh ) et enregistré sur le système Linux. Après cela, modifiez certaines valeurs de configuration dans la section "Mettre à jour les valeurs inférieures" du script en fonction de votre environnement
#!/bin/bash ################################################################ ## ## MySQL Database Backup Script ## Written By: Rahul Kumar ## URL: https://tecadmin.net/bash-script-mysql-database-backup/ ## Last Update: Jan 05, 2019 ## ################################################################ export PATH=/bin:/usr/bin:/usr/local/bin TODAY=`date +"%d%b%Y"` ################################################################ ################## Update below values ######################## DB_BACKUP_PATH='/backup/dbbackup' MYSQL_HOST='localhost' MYSQL_PORT='3306' MYSQL_USER='root' MYSQL_PASSWORD='mysecret' DATABASE_NAME='mydb' BACKUP_RETAIN_DAYS=30 ## Number of days to keep local backup copy ################################################################# mkdir -p ${DB_BACKUP_PATH}/${TODAY} echo "Backup started for database - ${DATABASE_NAME}" mysqldump -h ${MYSQL_HOST} \ -P ${MYSQL_PORT} \ -u ${MYSQL_USER} \ -p${MYSQL_PASSWORD} \ ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz if [ $? -eq 0 ]; then echo "Database backup successfully completed" else echo "Error found during backup" fi ##### Remove backups older than {BACKUP_RETAIN_DAYS} days ##### DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"` if [ ! -z ${DB_BACKUP_PATH} ]; then cd ${DB_BACKUP_PATH} if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then rm -rf ${DBDELDATE} fi fi ### End of script ####
Après avoir créé ou téléchargé le script, assurez-vous de définir les autorisations d'exécution pour qu'il s'exécute correctement.
$ chmod + x /backup/mysql-backup.sh
Planifiez le script dans Crontab
Maintenant, planifiez le script dans crontab pour qu'il s'exécute tous les jours et effectuez la sauvegarde régulièrement. Utilisez la commande crontab -e pour modifier crontab sur votre système. Ajoutez le paramètre suivant pour activer la sauvegarde à 2 heures du matin.
Planification du script dans crontab
Planifiez maintenant le script dans crontab pour qu'il s'exécute tous les jours et termine la sauvegarde régulièrement. Utilisez la commande crontab -e pour modifier crontab sur votre système. Ajoutez le paramètre suivant pour activer la sauvegarde à 2 heures du matin.
0 2 * * * root /backup/mysql-backup.sh
Enregistrez votre fichier crontab. Lorsque cron est activé, le script effectuera automatiquement des sauvegardes, mais veuillez vérifier chaque semaine ou chaque mois pour vous assurer qu'il a été sauvegardé.
Cet article est terminé ici. Pour un contenu plus passionnant, vous pouvez prêter attention à la colonne Tutoriel vidéo Linux du site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!