(et comment monter proprement les dossiers Synology en NFS avant ça)
Voici la version complète et corrigée de l’article pour ton blog, avec toute la partie montage NFS que j’avais omise dans la première version.
Comment monter ses dossiers Synology en NFS sur un ZimaBoard / ZimaOS
Avant de programmer quoi que ce soit, il faut que le Zima voie les dossiers du Synology comme s’ils étaient locaux.
1. Sur le Synology (DSM)
Panneau de configuration → Partage de fichiers → Services NFS → Activer le service NFS (NFSv3 suffit très bien).
Puis pour chaque dossier à sauvegarder :
Clique droit sur le dossier partagé (sauvegarde, music, homes ou directement Photos/DCIM/Camera)
→ Propriétés → onglet Permissions NFS
→ Ajouter une règle :
Hôte : IP du Zima (192.168.1.75)
Privilège : Lecture/Écriture
Squash : No mapping (important pour garder les UID/GID)
Cocher « Autoriser les connexions des ports non privilégiés »
2. Sur le ZimaBoard (en root)# Création des points de montage (dans /media car writable sur ZimaOS)
mkdir -p /media/syno_sauvegarde
mkdir -p /media/syno_music
mkdir -p /media/syno_photos
# Montage NFS (vers=3 + nolock pour éviter les bugs classiques)
mount -t nfs -o vers=3,nolock,rsize=131072,wsize=131072 \
192.168.1.24:/volume1/sauvegarde /media/syno_sauvegarde
mount -t nfs -o vers=3,nolock,rsize=131072,wsize=131072 \
192.168.1.24:/volume1/music /media/syno_music
mount -t nfs -o vers=3,nolock,rsize=131072,wsize=131072 \
192.168.1.24:/volume1/homes/ewfzapp/Photos/DCIM/Camera /media/syno_photos
Vérification :ls /media/syno_sauvegarde | head
df -h | grep syno
3. Montage automatique au démarrage (dans /etc/fstab)nano /etc/fstab
Ajoute ces lignes à la fin :192.168.1.24:/volume1/sauvegarde /media/syno_sauvegarde nfs vers=3,nolock,noatime,rsize=131072,wsize=131072 0 0
192.168.1.24:/volume1/music /media/syno_music nfs vers=3,nolock,noatime,rsize=131072,wsize=131072 0 0
192.168.1.24:/volume1/homes/ewfzapp/Photos/DCIM/Camera /media/syno_photos nfs vers=3,nolock,noatime,rsize=131072,wsize=131072 0 0
Le script de sauvegarde (local, ultra-simple)cat > /DATA/backup_syno.sh << 'EOF'
#!/bin/bash
LOG="/var/log/backup_syno.log"
> "$LOG" # écrase le log précédent
echo "══════════════════════════════════════" >> "$LOG"
echo "Backup démarré le $(date +'%d/%m/%Y %H:%M')" >> "$LOG"
rsync -av --delete --progress "/media/syno_sauvegarde/" "/media/SSD-Storage/sauvegarde/" >> "$LOG" 2>&1
rsync -av --delete --progress "/media/syno_music/" "/media/SSD-Storage/music/" >> "$LOG" 2>&1
rsync -av --delete --progress "/media/syno_photos/" "/media/SSD-Storage/photos/" >> "$LOG" 2>&1
echo "TOUTES LES SAUVEGARDES TERMINÉES le $(date +'%d/%m/%Y %H:%M')" >> "$LOG"
echo "══════════════════════════════════════" >> "$LOG"
EOF
puis rends le script executable:
chmod +x /DATA/backup_syno.sh
Programmation sans cron : systemd timers (la méthode qui marche sur ZimaOS)
1. Le servicenano /etc/systemd/system/backup-syno.service[Unit]2. Le timer (tous les jours à 11h00)
Description=Sauvegarde Synology vers ZimaBoard
[Service]
Type=oneshot
ExecStart=/DATA/backup_syno.sh
User=root
nano /etc/systemd/system/backup-syno.timer
[Unit]
Description=Sauvegarde quotidienne à 11h00
Requires=backup-syno.service
[Timer]
OnCalendar=*-*-* 11:00:00
Persistent=true
AccuracySec=1min
[Install]
WantedBy=timers.target
3. Activationsystemctl daemon-reload
systemctl enable --now backup-syno.timer
systemctl status backup-syno.timer
Test immédiatsystemctl start backup-syno.service
tail -f /var/log/backup_syno.log
Conclusion
Avec cette méthode :
Plus de clés SSH capricieuses
Plus de Task Scheduler Synology qui tue tout
Plus de cron à installer sur ZimaOS
Vitesse maximale (rsync local sur NFS)
Tout persistant et automatique, même après reboot
Depuis que j’ai tout basculé comme ça, mes sauvegardes tournent tous les jours à 11h pile, sans que je n’aie plus jamais à y toucher.