Consultant chef de projet IT
Le consultant est technologiquement ouvert et à l'écoute de ses interlocuteurs
Les développeurs web et administrateurs systèmes savent qu'une base de données est au coeur d'un projet. Elle contient les utilisateurs, les contenus, parfois les secrets les mieux gardés. Un crash serveur, une erreur humaine, ou une mise à jour ratée, et c'est la catastrophe.
L'automatisation des sauvegardes de base de données via un script shell et un CRON permet de réduire le risque et le stress. Pas besoin de lancer une commande manuelle tous les soirs à 23h59. Le serveur s'en charge.
Cet article propose un parcours progressif : du débutant qui veut comprendre les bases, à l'intermédiaire qui fiabilise ses scripts, jusqu'à l'avancé qui compare des solutions plus robustes comme Borg ou Restic, ou des offres managées type AWS Backup.
Si vous cherchez un accompagnement clé en main, vous pouvez contacter un développeur web professionnel.
Automatisez vos sauvegardes de bases de données avec un script shell et CRON.
Une sauvegarde est une copie fidèle des données stockées, restaurable en cas de problème. L'automatisation rend cette tâche récurrente sans intervention humaine.
rsync
ou scp
, ou cloud objet (S3, GCS).mysqldump
ou pg_dump
, gzip
, et éventuellement rsync
ou aws
CLI.
systemctl status cron # Debian/Ubuntu
systemctl status crond # CentOS/RHEL/Alma/Rocky
Exemple MySQL/MariaDB : script minimal
#!/bin/bash
backup.sh : script de sauvegarde MySQL simple
Usage: planifié via CRON pour un dump quotidien compressé
set -euo pipefail
DB_NAME="ma_base"
DB_USER="mon_user"
DB_PASS="${DB_PASS:-}" # lire depuis variable d'environnement
BACKUP_DIR="/var/backups/mysql"
DATE="$(date +'%Y%m%d_%H%M')"
mkdir -p "$BACKUP_DIR"
# Dump transactionnel pour minimiser les verrous
mysqldump --single-transaction -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql"
# Compression
gzip -9 "$BACKUP_DIR/${DB_NAME}_${DATE}.sql"
# Sortie explicite
echo "OK : $BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz"
Bonne pratique : ne mettez pas le mot de passe en clair dans le script. Exportez la variable avant exécution :
export DB_PASS='motdepasse' /chemin/vers/backup.sh
Planification CRON à 2h du matin tous les jours :
crontab -e 0 2 * * * DB_PASS='motdepasse' /chemin/vers/backup.sh >> /var/log/backup.log 2>&1
Exemple PostgreSQL
#!/bin/bash
# backup_pg.sh : sauvegarde PostgreSQL simple
set -euo pipefail
PGDATABASE="ma_base"
PGUSER="mon_user"
PGPASSWORD="${PGPASSWORD:-}" # lire depuis variable d'environnement
export PGPASSWORD
BACKUP_DIR="/var/backups/postgres"
DATE="$(date +'%Y%m%d_%H%M')"
mkdir -p "$BACKUP_DIR"
pg_dump -U "$PGUSER" "$PGDATABASE" > "$BACKUP_DIR/${PGDATABASE}${DATE}.sql"
gzip -9 "$BACKUP_DIR/${PGDATABASE}${DATE}.sql"
echo "OK: $BACKUP_DIR/${PGDATABASE}_${DATE}.sql.gz"
Restauration de test
# MySQL/MariaDB
gunzip -c /var/backups/mysql/ma_base_20240101_0200.sql.gz | mysql -u mon_user -p ma_base
# PostgreSQL
gunzip -c /var/backups/postgres/ma_base_20240101_0200.sql.gz | psql -U mon_user -d ma_base
.sql.gz
./var/log/syslog
ou journalctl -u cron
.Contexte : projet vitrine à faible volumétrie. Objectif : simplicité maximale.
Implémentation : script local + CRON quotidien + rotation simple par date dans le nom de fichier.
Pièges : le stockage local reste un SPOF. Prévoir une copie distante hebdomadaire via
rsync
.
✎ Pour aller plus loin dans votre approche technique
L'utilisation du spool SQL dans une base de données Oracle (Posté le samedi 27 septembre):
Vous travaillez sur des bases de données Oracle? Vous utilisez très certainement l'outil Oracle SQL*Plus qui permet de générer des fichiers plats CSV en utilisant le spool d'une requête de base de données. Cela permet d'extraire des données dont l'affichage n'est pas prévu nativement dans les écrans de l'ERP.
Contexte : application e-commerce. Objectif : RPO faible et conservation 30 jours.
Implémentation : dump horaire vers un bucket S3 compatible, chiffrement au repos, cycle de rétention côté objet, alerte en cas d'échec.
Trade-offs : dépendance réseau et coût de stockage, mais résilience supérieure et restauration rapide.
Méthode | Simples | Sécurité | Coût | Cas d'usage |
---|---|---|---|---|
Script local | ++ | - | 0 | Petits projets |
Rsync/SSH | + | ++ | faible | Petites prod |
S3/Cloud objet | + | +++ | variable | Prod critique |
Borg/Restic | + | +++ | faible | Archivage, déduplication |
--single-transaction
et éventuellement --quick
pour réduire la
mémoire.pg_dump
en format custom -Fc
pour des restaurations
sélectives..my.cnf
ou .pgpass
avec
permissions strictes.Peut-on automatiser plusieurs bases en même temps ? Oui, bouclez sur une liste de bases dans le script et faites un dump par base.
CRON est-il fiable à 100 % ? Il est robuste, mais surveillez les logs et l'espace disque. Ajoutez des alertes.
Quelle rétention choisir ? 30 jours est une base courante. Ajustez selon la criticité et les obligations légales.
Avec l'automatisation des sauvegardes de base de données, vous réduisez les risques et gagnez du temps. Prochaine étape : écrire votre script, planifier CRON, et valider une restauration complète. Vous aimez cet article ? Retrouvez-en plus sur le blog Symplyweb.
Outre l'email / téléphone, les visioconférences sur Google Meet sont une moyen privilégié de me contacter. La simplicité d'utilisation de cet outil en fait un choix évident, n'imposant aucune installation. Renseignez mon adresse email pour une invitation via Google Agenda.
Pays de Provence, le 23 septembre 2025
Michel Campillo
Consultant chef de projet IT
☎ 06 89 56 58 18
✉ contact par email
➽ Autres billets pour consultants ERP travaillant sur des bases de données Oracle: Comment changer la taille de police dans Oracle SQL Developer?, Configuration de SQL Developer pour MySQL (3813).
Ce post vous a aidé? Alors partagez-le avec d'autres utilisateurs en cliquant sur les boutons ci-dessous:
🎯 À consulter : Mentions légales. Derniers articles : Les phases APS et APD dans les projets d'installations industrielles, ITSM et ERP : impacts sur l'architecture et les équipes, Installer Copilot gratuitement, retour d'expérience, Les limites cachées du rôle de chef de projet ERP, La chaîne logistique en entreprise, qu'est-ce que c'est ?, L'importance des réseaux sociaux pour un tunnel d'acquisition performant, Du Build au Run : le défi des chefs de projet ERP, Maîtriser le triangle QCD dans les projets ERP, Un logiciel ERP pour gérer l'entreprise, ERP BTP, Piloter un projet ERP, Faire appel à un rédacteur web freelance, Le rôle stratégique du rétroplanning dans la réussite d'un projet ERP, Christiaens, un ERP au service de la gestion d’entreprise, Altior, l'ERP SaaS qui booste les PME industrielles, Smart Industry, quand l'industrie 4.0 réinvente l'appareil de production, Rise Tech, réparation d'ordinateur portable près d'Aix-en-Provence, Intégrer des outils externes à un ERP, Encore la conversion vidéo, x, x, x, x, x, x, x, Construire un blueprint solide pour réussir son projet ERP, La planification de chantier, Vancelian : de Akt.io à leader fintech, l'essentiel sur cette entreprise, RFP, un outil stratégique pour structurer le choix d'un logiciel, De la start-up à la scale-up, le passage à l'échelle dans l'écosystème numérique, Gestion des factures fournisseurs, quel traitement ?, ERP, quelle formation en ligne?, Applications de gestion des frais professionnels, un levier stratégique, Recherche ingénieur senior en assurance qualité logiciel, ERP et cybersécurité, un enjeu vital de protection de données, Openbravo, Book My Foodtruck et Korus Ticket : l'innovation startup en France, Les nouveaux visages de la tech française, innovation et rigueur, Implémentation d'un logiciel : les différentes phases, Sauvegardes BDD automatisées avec CRON.
⛅ L'automne est arrivé, un temps propice au travail non? ☂️
Copyright © 2004-2025 Michel Campillo, tous droits réservés