Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:sauvegarder_automatiquement_ses_bases_de_donnees [Le 28/06/2012, 00:01] – Ajout tag mysql zebulonT | tutoriel:sauvegarder_automatiquement_ses_bases_de_donnees [Le 02/08/2026, 00:28] (Version actuelle) – supprimée krodelabestiole | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | ||
| - | ---- | ||
| - | |||
| - | ====== Sauvegarder automatiquement ses bases de données MySQL ====== | ||
| - | |||
| - | Ce mini tutoriel vous présente une méthode simple pour mettre en place une sauvegarde automatique des bases de données de votre serveur [[:MySQL]]. Ce script doit être installé sur le serveur MySQL. | ||
| - | |||
| - | <note tip>Bien que le contenu de cette page reste valide, il est à noter que cette opération peut être réalisée directement avec un script fourni par votre distribution (depuis la version 9.10 inclue) : [[: | ||
| - | |||
| - | Pour ce faire, nous allons utiliser 2 scripts bash et les tâches cron. | ||
| - | |||
| - | Nous allons utiliser le cas suivant : | ||
| - | * Nous voulons sauvegarder nos 3 bases de données **mon_site**, | ||
| - | * Nous nous connectons au serveur de base de données avec le login **root** et le mot de passe **monpass**. | ||
| - | |||
| - | Attention : en aucun cas vous devez sauvegarder la base de données "à l' | ||
| - | |||
| - | Pour sauvegarder les fichiers de votre site accessibles en ftp uniquement, voir avec [[http:// | ||
| - | |||
| - | |||
| - | ===== Création des scripts ===== | ||
| - | |||
| - | Nous allons créer nos scripts dans le répertoire **/ | ||
| - | |||
| - | Nous créons un premier script que l'on appellera backup_bdd.sh qui contient : | ||
| - | |||
| - | < | ||
| - | # | ||
| - | ## on se place dans le repertoire ou l'on veut sauvegarder les bases | ||
| - | # | ||
| - | cd / | ||
| - | |||
| - | for i in mon_site mon_forum mon_blog; do | ||
| - | |||
| - | ## Sauvegarde des bases de donnees en fichiers .sql | ||
| - | mysqldump -uroot -pmonpass $i > ${i}_`date +" | ||
| - | |||
| - | ## Compression des exports en tar.bz2 (le meilleur taux de compression) | ||
| - | tar jcf ${i}_`date +" | ||
| - | |||
| - | ## Suppression des exports non compresses | ||
| - | rm ${i}_`date +" | ||
| - | |||
| - | done | ||
| - | </ | ||
| - | |||
| - | Mettez dans la ligne | ||
| - | |||
| - | < | ||
| - | |||
| - | la liste de toutes les bases de données que vous voulez sauvegarder. | ||
| - | |||
| - | Par sécurité, on ne veut pas garder que la dernière sauvegarde faite (elle peut être corrompue). Nous insérons donc la date du jour dans le nom de fichier avec `date +" | ||
| - | |||
| - | Il faut créer un second script pour faire le ménage régulièrement dans le dossier de backup pour éviter son embonpoint inévitable. | ||
| - | |||
| - | On nomme ce fichier clean_backups.sh et son contenu est : | ||
| - | |||
| - | < | ||
| - | # | ||
| - | ## Supprime les sauvegardes vieilles de plus de 5 jours | ||
| - | # | ||
| - | find / | ||
| - | </ | ||
| - | |||
| - | |||
| - | Note : si votre mot de passe ou votre utilisateur contient les caractères : " | ||
| - | |||
| - | pour cela (à part changer de user/pass) il faut modifier la ligne : | ||
| - | |||
| - | < | ||
| - | |||
| - | par | ||
| - | |||
| - | < | ||
| - | |||
| - | |||
| - | |||
| - | ===== Modification des permissions ===== | ||
| - | Nous allons faire en sorte que seul root puisse lire, exécuter, et modifier ces 2 scripts : | ||
| - | cd / | ||
| - | |||
| - | |||
| - | |||
| - | ===== Programmation de l' | ||
| - | |||
| - | <note tip>Si votre ordinateur n'est pas allumé en permanence, il vaut mieux utiliser [[http:// | ||
| - | |||
| - | Dans le répertoire **/etc**, vous pouvez voir qu'il existe des répertoires cron.daily, cron.hourly, | ||
| - | |||
| - | dans le fichier **/ | ||
| - | |||
| - | Donc comme nous l' | ||
| - | cd / | ||
| - | sudo ln -s / | ||
| - | sudo ln -s / | ||
| - | |||
| - | < | ||
| - | |||
| - | C'est fini :) | ||
| - | |||
| - | ===== Conclusion ===== | ||
| - | Chaque nuit, à l' | ||
| - | |||
| - | Si vous avez un problème sur une base de données, vous pourrez donc extraire l' | ||
| - | |||
| - | ---- | ||
| - | |||
| - | // | ||
