Sauvegarde planifiée Linux MySQL et téléchargement vers le référentiel git

藏色散人
Libérer: 2019-12-24 14:29:29
avant
2414 Les gens l'ont consulté

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

Sauvegarde planifiée Linux MySQL et téléchargement vers le référentiel git

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!

Étiquettes associées:
source:ruoxiaozh.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal