Consultant chef de projet IT
La modélisation des processus est une des activités du consultant fonctionnel
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 mercredi 12 novembre):
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 : La DSP2, tournant stratégique en informatique bancaire, L'illusion du pilotage de projet Agile, Piloter un projet ERP, Page entreprise sur Linkedin, Déboires lors d'une formation utilisateurs, Factures manuelles, Consultant sur un logiciel métier, Déblocage de téléphone mobile, Ma playlist du moment, Aix-en-Provence, Le BRD, maillon oublié mais essentiel des projets IT, les modèles de structure de répartition du travail, L'intelligence artificielle, levier de performance et transformation du BTP, un consultant logiciel, Réussir sa migration ERP, stratégies et bonnes pratiques.
⛅ L'automne est arrivé, un temps propice au travail non? ☂️
Copyright © 2004-2025 Michel Campillo, tous droits réservés