Maison > Article > Opération et maintenance > Sauvegarde planifiée Linux MySQL et téléchargement vers le référentiel git
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 serveurAfin de stocker les fichiers sauvegardés sur le serveur, créez un nouveau répertoire de sauvegarde$ mkdir /bakAprè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.shLe. 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 pushCeci 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 -eNous 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.shL'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.shDans 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éesExécuter la tâche planifiée :
$ crontab -lSi le service ne démarre pas, redémarrez la tâche planifiée
$ systemctl restart crondAlors 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!