Sous Linux ou windows, je n'ai rien trouvé de mieux que FreeFileSync pour synchroniser ses données sur un serveur NAS accessible en SSH. C'est très facile à utiliser.
Avec un Rapsberry pi j'ai finalement opté pour une synchronisation de mes données avec rsync en ligne de commande. J'ai trop galéré avec d'autres logiciels graphiques qui sont souvent une surcouche de rsync (Grsync, Luckybackup par exemple) qui ne m'ont pas paru fiables et incompréhensibles à configurer. Mon utlisation de rsync est très simple: je synchronise tout mon disque dur externe sur le NAS et je synchronise aussi le répertoire /home/pi/Documents de mon Raspberry pi sur mon serveur NAS: ce sont 2 lignes de commande que j'exécute de temps en temps (à peu près une fois par semaine).
L'avantage de passer par une ligne de commande c'est qu'elle peut être intégrée dans la cron table afin qu'elle soit exécutée régulièrement (toutes les 5mn, toutes les heures, etc ...). Personnellement pas besoin: je me contente de synchroniser une fois par semaine.
Dans mon cas, voici ma source et ma cible (192.168.xx.xx correspond à l'adresse IP de mon serveur NAS sur mon réseau local). J'ai configuré ma BOX internet pour figer l'adresse IP qu'elle attribue à ce serveur NAS .
rsync -av --progress --delete --stats --human-readable --exclude-from '/home/pi/Sync/exclude.txt' -e "ssh -pxxxxx" /media/pi/OlivDD/ pi@192.168.xx.xx:/home/shares/public/backup/OlivDD
-av: permet de dire à rsync d'être en mode archivage de données (a) et d'activer le "verbose" (v) pour voir les messages informatifs défiler.
--progress affiche la progression des sauvegardes
--delete va supprimer les fichiers en cible qui ont disparus à la source
--stats affiche des statistiques à la fin de la sauvegarde
--human-readable va afficher des informations converties pour être mieux lisibles (ko, Mo, Go ...)
-exclude-from '/home/pi/Sync/exclude.txt' va m'exclure tout ce que j'indique à ne pas sauvegarder dans un fichier texte: les répertoires planqués (.*/), les répertoires lots+found/, les fichiers zipés *.zip etc ... on peut ici indiquer toutes les exceptions à ne pas sauvegarder.
-e "ssh -pxxxxx" permet d'indiquer une connexion ssh via le port xxxxx que vous aurez configuré au début. Si les clés RSA publiques/privées sont en place, la connexion ne nécessite aucun password. Si Fail2Ban est déjà actif, attention aux premiers essais ...
enfin les deux paramètre finaux sont la source et la cible.
Lors de la première exécution, ça pique un peu en terme de temps: dans mon cas 6h30 pour synchroniser 265Go de données, plus de 88 000 fichiers. La température du pi3 avec son Unicorn HAT HD passe de 47°C (au repos) à environ 58°C en pleine synchronisation: pas de quoi utiliser un ventilateur à ce stade. Ensuite lors des synchronisations suivantes c'est extrêmement rapide: en quelques secondes à peine rsync identifie les nouveaux fichiers ou fichiers qui ont été modifiés parmi mes 88 000 fichiers, et la synchro vers le NAS est très rapide.
Voilà ce serveur NAS me ravi à tous points de vue: totalement silencieux 0db, sobre (15W maxi), minuscule, sécurisé, un coût minimaliste (un pi3b+ coûte 35€, une carte SD16Go 7€ et un DD SSD de 1To on peut les trouver en promo à 150€) et un démarrage en moins de 15 secondes: c'est exactement ce que je voulais.
cool j'ai pas besoin de le ré-expliquer ici, mais trop drôle j'étais en train de le faire. Merci d'avoir cité la source ;-)