Maison  >  Article  >  base de données  >  MySQL effectue une sauvegarde automatique sur CentOS

MySQL effectue une sauvegarde automatique sur CentOS

angryTom
angryTomavant
2019-10-14 15:02:562434parcourir

Pendant le développement, nous utilisons souvent Svn ou Git pour gérer notre code ou les fichiers liés au projet. Cependant, ils ont tous une chose en commun : Contrôle de version

De nombreuses personnes le feront. vous demandez pourquoi vous devriez utiliser Svn ou Git, alors je demanderai : je pense que le code que vous avez écrit est très bon, mais un jour vous avez modifié de nombreux bugs, mais du coup vous avez pensé qu'il y avait un algorithme plus important dans le code précédent et vous accidentellement C'est couvert, que devez-vous faire maintenant ?

Recommandé "Tutoriel vidéo MySQL"

Peut-être me direz-vous que vous pouvez sauvegarder les fichiers actuellement modifiés ou le projet en cours avant de modifier ces codes.

Mais combien de fichiers de sauvegarde y aura-t-il sur votre machine au fil du temps ?

Si un jour votre collègue a besoin de revenir au code précédent pour voir la cause du bug à ce moment-là, allez-vous retrouver le fichier à l'heure indiquée depuis votre machine et le lui envoyer ?

Bien sûr que non. Après avoir utilisé Svn ou Git, nous pouvons facilement voir les versions précédentes des fichiers et les comparer facilement. L’importance du contrôle de version est désormais claire.

Il en va de même pour les bases de données. 99% de nos systèmes sont indissociables des bases de données car nous devons toujours stocker des données.

Et si notre base de données est accidentellement supprimée, piratée ou modifiée de manière malveillante ?

Ensuite, nous pouvons essayer de laisser notre serveur sauvegarder automatiquement les données de la base de données à l'emplacement spécifié. Si un jour notre base de données tremble accidentellement, nous pouvons également utiliser le script de base de données sauvegardé pour récupérer directement.

Script supérieur :

# db username
db_user="test"  
# db password
db_passwd="test"
# db host
db_host="121.201.5.216"
# backup db name
db_name="Alterem"  
# the directory for story your backup file.  
backup_dir="backup"  cd 
# date format for backup file (dd-mm-yyyy)  
time="$(date +"%Y-%m-%d-%H-%M-%S")"  
# mysql, mysqldump and some other bin's path  
MYSQL="/usr/local/mysql/bin/mysql"  
MYSQLDUMP="/usr/local/mysql/bin/mysqldump"  
GZIP="/bin/gzip"  
  
$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "/data/backup/$backup_dir/$db_name"_"$time.gz"

Créer une minuterie

crontab -e

Ajouter une minuterie

# 每天凌晨 1 点 30 分 进行数据备份
30  1  *  *  * /root/mysql-backup.sh

Redémarrer la minuterie

/etc/rc.d/init.d/crond restart

analyse cron

# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed复制代码

Générateur d'expression Cron en ligne : http://cron.qqe2/

.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:cas où l'utilisationArticle suivant:cas où l'utilisation