Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
tutoriel:sauvegarder_automatiquement_ses_bases_de_donnees [Le 11/04/2019, 11:51] 82.251.241.242 |
tutoriel:sauvegarder_automatiquement_ses_bases_de_donnees [Le 24/02/2023, 15:53] (Version actuelle) 85.14.130.61 [Création du script] |
||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| ---- | ---- | ||
| + | |||
| ====== Sauvegarder automatiquement ses bases de données MySQL ====== | ====== Sauvegarder automatiquement ses bases de données MySQL ====== | ||
| Ligne 20: | Ligne 20: | ||
| - | ===== Création des scripts ===== | + | ===== Création du script ===== |
| - | Nous allons créer nos scripts dans le répertoire **/root/scripts/**. Seul root y aura accès en lecture (et écriture). | + | Nous allons créer le script dans le répertoire **/root/scripts/**(( ou /user/local/bin … https://askubuntu.com/questions/998452/where-should-i-put-my-bash-scripts)). Seul root y aura accès en lecture (et écriture). |
| Si le sous répertoire script n'existe pas déjà, le créer : | Si le sous répertoire script n'existe pas déjà, le créer : | ||
| Ligne 28: | Ligne 28: | ||
| </code> | </code> | ||
| - | Nous créons un premier script que l'on appellera backup_bdd.sh qui contient : | + | Le script s'appellera backup_bdd.sh et contient : |
| - | <code>#!/bin/bash | + | <code bash>#!/bin/bash |
| # Script de sauvegarde des bases de données mysql/mariadb | # Script de sauvegarde des bases de données mysql/mariadb | ||
| + | # Les valeurs à paramétrer sont en fin de script dans la fonction main() | ||
| get_databases_to_backup() { | get_databases_to_backup() { | ||
| Ligne 68: | Ligne 69: | ||
| # choix du dossier de destination des sauvegardes à ajuster à vos besoins | # choix du dossier de destination des sauvegardes à ajuster à vos besoins | ||
| backup_folder="/srv/mysql_backups" | backup_folder="/srv/mysql_backups" | ||
| - | if [ -d "$backup_folder" ] ; then | + | if [ ! -d "$backup_folder" ] ; then |
| mkdir -p "$backup_folder" | mkdir -p "$backup_folder" | ||
| fi | fi | ||
| Ligne 85: | Ligne 86: | ||
| </code> | </code> | ||
| + | |||
| ===== Modification des permissions ===== | ===== Modification des permissions ===== | ||
| - | Nous allons faire en sorte que seul root puisse lire, exécuter, et modifier ces 2 scripts : | + | Nous allons faire en sorte que seul root puisse lire, exécuter, et modifier ce scripts : |
| - | cd /root/scripts && sudo chmod 700 backup_bdd.sh clean_backups.sh | + | cd /root/scripts && sudo chmod 700 backup_bdd.sh |
| ===== Programmation de l'exécution des scripts avec Cron ===== | ===== Programmation de l'exécution des scripts avec Cron ===== | ||
| + | |||
| + | FIXME Consulter la page [[:cron]] où il est préconisé d'utiliser <code bash>crontab -e</code> pour modifier les CRON, les infos ci-dessous, si elles ne sont pas obsolètes, ne semble plus recommandées! | ||
| + | |||
| Dans le répertoire **/etc**, vous pouvez voir qu'il existe des répertoires cron.daily, cron.hourly, etc | Dans le répertoire **/etc**, vous pouvez voir qu'il existe des répertoires cron.daily, cron.hourly, etc | ||