Introduction
Lorsque nous déployons nos projets de petite et moyenne taille, nous choisissons généralement MySQL comme outil de stockage pour le stockage de données. Donc, pour un grand projet, chaque jour La quantité de. Les données sont très volumineuses. Pour les données générées chaque jour, si notre site Web ou notre serveur est attaqué un jour, notre perte de données sera une explosion, il est donc naturel de concevoir une sauvegarde de la base de données. Alors, quel type de sauvegarde faut-il faire. nous voulons ?
Nous pouvons stocker les fichiers de données sauvegardés dans le répertoire du serveur. Le cycle de sauvegarde est bien sûr basé sur la quantité de données. Ici, nous sauvegardons généralement une fois chaque matin. dans le répertoire de notre serveur, mais si le serveur tombe en panne un jour, les fichiers sauvegardés auront disparu. Nous imaginons donc qu'une bonne solution consiste à sauvegarder la base de données tous les jours et à soumettre automatiquement chaque sauvegarde à l'entrepôt distant. nuage de code à titre d'exemple
Apprentissage recommandé : "tutoriel Linux"
nuage de code
Créez d'abord un entrepôt distant. Ici, j'ai choisi Code Cloud
pour créer un nouvel entrepôt privé. Bien sûr, afin de soumettre des fichiers sans mot de passe à chaque fois, la clé ssh peut être générée dans le serveur
Créer une nouvelle sauvegarde sur le serveur
Afin de stocker les fichiers sauvegardés sur le serveur, créez un nouveau répertoire de sauvegarde
$ mkdir /bak
Copier après la connexion
Après avoir entré le répertoire, continuez à en créer deux dossiers, mysqlBak et shDir, un pour le fichier de script, l'un consiste à placer les fichiers de sauvegarde spécifiques.
Maintenant, nous pouvons créer un nouveau script. Après être entré dans le répertoire shDir, exécutez
$ vim mysqlBak.sh
Copier après la connexion
Le. le code spécifique est le suivant :
#!bin/sh
################### 数据库配置信息 #######################
createAt=`date +%Y-%m-%d-%H:%M:%S`
user=root
passwd=ghc1996
dbname=ispace
mysql_back_path=/bak/mysqlBak
################### 执行命令 #######################
mysqldump -u $user -p$passwd $dbname > $mysql_back_path/$createAt.sql
cd /bak/mysqlBak
/usr/local/git/bin/git add .
/usr/local/git/bin/git commit -m $createAt
/usr/local/git/bin/git push
Copier après la connexion
Ceci est juste un script simple. Je pense que c'est facile à comprendre pour ceux qui connaissent Linux. Ce qu'il fait, c'est sauvegarder la base de données et la transmettre à l'entrepôt distant.
Donc puisqu'il s'agit d'un script, nous devons indiquer quand exécuter ce script et préciser l'exécution du script
$ crontab -e
Copier après la connexion
Nous espérons effectuer une sauvegarde tôt le matin de chaque jour et. ajoutez-le à l'entrepôt distant, puis ajoutez
$ 0 0 * * * /bin/sh /bak/shDir/mysqlbak.sh
Copier après la connexion
L'heure spécifiée dans la crontab Linux ne comporte que cinq parties
Utilisez la commande crontab -e et modifiez directement le script de timing. Heure + nom précis
Par exemple :
0 0,3,7,9,12,15,18,21,23 * * * /bin/sh /bak/shell/mysqlBak.sh
Copier après la connexion
Dans ce cas, c'est mon heure à 0,,3,7,9,12,15,18,21,23 heures tous les jours Exécutera ce fichier de script, cela réalisera alors la sauvegarde de base de la base de données
Exécuter la tâche planifiée :
$ crontab -l
Copier après la connexion
Si le service ne démarre pas, redémarrez la tâche planifiée
$ systemctl restart crond
Copier après la connexion
Alors maintenant, cette tâche planifiée a été lancée. La condition préalable pour soumettre des entrepôts distants est de générer une clé ssh sur le serveur et de l'ajouter au cloud de code
Initialiser le git. répertoire pour le répertoire où les fichiers doivent être soumis. C'est tout, pour que le tour puisse constituer les tâches dont nous avons besoin
Bien sûr, vous pouvez rencontrer quelques problèmes au cours du processus, et je les ai répertoriés dans le. liens pertinents ci-dessous.
De cette façon, nous pouvons sauvegarder notre base de données tôt le matin de chaque jour et la soumettre à l'entrepôt distant de notre nuage de codes en même temps. .
J'ai également dit que le cycle de sauvegarde dépend de la taille du volume de données de notre projet
Chaque framework a son propre mécanisme de sauvegarde. Ce que j'écris ici est un général. mécanisme de sauvegarde mis en œuvre par nous-mêmes
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!