
Contexte 📄
Dans un environnement multi‑sites, il est fréquent de devoir répliquer des partages NFS afin d’assurer la disponibilité et la résilience des données. Sous RHEL 9, rsync couplé à un systemd‑timer permet d’automatiser cette réplication de façon fiable, sans dépendre de services externes.

Quand l’utiliser ⏰
- Vous avez un répertoire NFS critique à garder synchronisé entre deux datacenters.
- Vous souhaitez une solution légère, sans besoin d’un outil de réplication dédié.
- Vous avez besoin d’une planification flexible (ex. toutes les 15 minutes).
Pré‑requis ✅
- Deux serveurs RHEL 9 (ex.
rhel‑srcetrhel‑dst) avec accès root. - Le partage NFS exporté depuis
rhel‑srcet monté surrhel‑dst(ex./export/data). - Le paquet
rsyncinstallé sur les deux machines.
🔹 Étape 1 – Installer rsync et créer le point de montage NFS
# Sur les deux serveurs
yum install -y rsync nfs-utils
# Sur rhel‑src : export du répertoire
echo "/export/data 10.0.0.2(rw,sync,no_root_squash)" >> /etc/exports
exportfs -ra
# Sur rhel‑dst : créer et monter le point
mkdir -p /mnt/nfs_data
mount -t nfs 10.0.0.1:/export/data /mnt/nfs_data
🔹 Étape 2 – Créer le script de réplication rsync
Le script sera stocké sur rhel‑src et exécuté via systemd.
cat > /usr/local/bin/rsync_nfs.sh <<'EOF'
#!/bin/bash
SRC="/export/data/"
DST="root@10.0.0.2:/mnt/nfs_data/"
# Options : -a (archive), -z (compression), --delete (purge)
rsync -az --delete "$SRC" "$DST"
EOF
chmod +x /usr/local/bin/rsync_nfs.sh
🔹 Étape 3 – Créer le service systemd
cat > /etc/systemd/system/rsync-nfs.service <<'EOF'
[Unit]
Description=Synchronisation NFS avec rsync
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/rsync_nfs.sh
EOF
🔹 Étape 4 – Créer le timer systemd (exécution toutes les 15 minutes)
cat > /etc/systemd/system/rsync-nfs.timer <<'EOF'
[Unit]
Description=Timer pour rsync‑nfs.service toutes les 15 minutes
[Timer]
OnBootSec=5min
OnUnitActiveSec=15min
Persistent=true
[Install]
WantedBy=timers.target
EOF
# Activer le timer
systemctl daemon-reload
systemctl enable --now rsync-nfs.timer
⚠️ Bonnes pratiques de sécurité
- SSH keys limitées : Utilisez une clé SSH dédiée sans mot de passe, restreinte à l’utilisateur
rootou à un compte limité avecsudouniquement pourrsync. Placez la clé dans/root/.ssh/authorized_keyssur la machine destination. - Chiffrement du trafic : Activez
rsync -e "ssh -c aes256-gcm@openssh.com"si le réseau n’est pas dédié. - Vérification d’intégrité : Ajoutez
--checksumà rsync en phase de test pour détecter les corruptions. - Journalisation : Redirigez la sortie vers
/var/log/rsync-nfs.logdans le service pour audit.
✅ Conclusion
Vous disposez maintenant d’une réplication NFS fiable, automatisée toutes les 15 minutes, grâce à rsync et systemd‑timer. Cette approche légère évite l’ajout de logiciels tiers tout en offrant flexibilité et contrôle. N’oubliez pas de surveiller les logs et d’ajuster la fréquence selon vos besoins de RTO/RPO.
