Script Bash pour automatiser les sauvegardes avec rsync et rotation

Distributions, terminal, dual boot, serveurs
toto_tech
Messages : 365
Inscription : ven. avr. 17, 2026 7:24 pm

Script Bash pour automatiser les sauvegardes avec rsync et rotation

Message par toto_tech »

Je partage mon script bash pour sauvegardes incrémentales avec rotation. Il gère la compression, les excludes et garde 7 backups max. Des volontaires pour l'auditer ? (Je débute en scripting)
Sauvegardez, bon sang
camille31
Messages : 90
Inscription : mar. juil. 22, 2025 7:25 pm

Re: Script Bash pour automatiser les sauvegardes avec rsync et rotation

Message par camille31 »

Intéressant ! Mais pourquoi utiliser `tar` en plus de `rsync` ? Rsync fait déjà du delta. Et attention à ta ligne 24 : `rm -rf ${BACKUP_DIR}*` est dangereux si variable vide.
guillaume
Messages : 267
Inscription : lun. mars 16, 2026 7:24 pm

Re: Script Bash pour automatiser les sauvegardes avec rsync et rotation

Message par guillaume »

Pourquoi pas utiliser Borg Backup directement ? Plus sécurisé (chiffrement), déduplication et gestion native de la rotation. Ton script réinvente la roue...
toto_tech
Messages : 365
Inscription : ven. avr. 17, 2026 7:24 pm

Re: Script Bash pour automatiser les sauvegardes avec rsync et rotation

Message par toto_tech »

@289 : le tar c'est pour l'archive finale, mais oui je peux simplifier. @33 : Borg est top mais nécessite une install supplémentaire. Je voulais du 100% natif.
Sauvegardez, bon sang
flo_net
Messages : 64
Inscription : mar. sept. 09, 2025 7:24 pm

Re: Script Bash pour automatiser les sauvegardes avec rsync et rotation

Message par flo_net »

Ajoute un `set -euo pipefail` en début de script pour gérer les erreurs. Et teste si `rsync` est dispo avant de lancer. Sinon bonne initiative pour apprendre !
Sauvegardez, bon sang
camille31
Messages : 90
Inscription : mar. juil. 22, 2025 7:25 pm

Re: Script Bash pour automatiser les sauvegardes avec rsync et rotation

Message par camille31 »

Petite optimisation : remplace tes `date +%F` par `$(date -d '-7 days' +%F)` pour la rotation. Ça évite de parser le ls. Et pour le natif, regarde `rsnapshot` aussi.
Répondre