Synchronisation de données sur un NAS :¶
Nous allons ici expliquer comment automatiser la sauvegarde automatique de vos fichiers sur un serveur de sauvegarde (NAS) ou même sur un autre disque dur de votre ordinateur.
Nous avons préparé ceci dans le but d’automatiser les sauvegardes des ordinateurs de Pierre et Jean-Baptiste.
Pour Windows :¶
1 le fichier .bat :
Nous avons tout d’abord créé un fichier texte que nous avons appelé « test ». Dans ce fichier, nous avons écrit ces lignes (pour des raisons de sécurité, les noms d’utilisateurs et mots de passes ont été remplacés par nomUtilisateur et motDePasse) :
net use Z: \\CENTRAL\Public /user: nomUtilisateur motDePasse /PERSISTENT:YES
robocopy c:\Users\Admin\Desktop\TEST Z:\Test_sys * /mt /z
net use Z: /delete
Comment marche ce code ?
Les deux commandes « net use » vont servir à gérer la connexion et l’authentification au serveur NAS.
La première se décompose ainsi :
Z : \\CENTRAL\Public
« Z : » signifie que l’on monte un lecteur réseau qui s’appelle Z,
« \\CENTRAL\Public » est l’emplacement dans l’arborescence du NAS à laquelle on souhaite se positionner (le « \\ » signifiant qu’il s’agit d’une ressource distante, « CENTRAL » le nom du NAS et « Public » le dossier choisi)
/user : nomUtilisateur motDePasse
Cette partie sert à s’authentifier automatiquement , si elle n’est pas renseignée mais nécessaire, le terminal Windows restera ouvert et demandera de rentre le nom d’utilisateur et le mot de passe.
/PERSISTENT:YES
Ce dernier bout va maintenir la connexion jusqu’à ce qu’elle soit manuellement fermée, ici dans la seconde commande de « net use » :
net use Z: /delete
On va supprimer le lecteur réseau « Z » et ainsi interrompre la connexion.
La commande avec « robocopy » quant à elle va effectuer un comparatif des fichiers locaux avec les fichiers de sauvegarde et va uniquement transférer ceux qui ont été modifiés ou ajoutés.
Ensuite, « c:\Users\Admin\Desktop\TEST » et « Z:\Test_sys » sont respectivement le dossier en local et le dossier de sauvegarde sur le NAS (le disque « c » étant celui de l’ordinateur et le «Z» celui du NAS).
Le symbole « * » signifie qu’il faut prendre tous les fichier dans le dossier sélectionné. Si vous voulez choisir des fichiers en particulier il faudra les renseigner à la place de « * ».
L’option « mt » va activer le mode « multi threading » pour une meilleure efficacié, l’option « z » va relancer la sauvegarde en cas d’interruption.
Lors de la sauvegarde du fichier, Nous avons renommé le fichier en « test.bat » en sélectionnant l’option « tous les fichiers » à la place de « fichier texte (*.txt) ».
2- Planification de la tâche :
Une fois le fichier enregistré, nous sommes allés dans le planificateur de taches de Windows, dans la fenêtre actions nous avons fait « créer une tache... ».
Pour les propriétés de la tache, dans l’onglet général nous l’avons appelée « Synchro », en bas du même onglet nous l’avons configurée pour Windows 10.
Dans l’onglet déclencheur , nous avons mis un déclenchement journalier le midi en faisant « nouveau ».
Dans l’onglet Actions, on a sélectionné « Nouveau... » , dans l’action on a saisi l’option « démarrer un programme » et avec parcourir nous avons choisi le fichier test.bat fait précédemment.
On a ensuite parcouru les différent paramètre pour s’assurer qu’il n’y ai pas de problème avant de valider le tout.
Et voilà ! Une synchronisation de donnée automatique sur Windows.
Linux :¶
On utilise ici "rsync" pour le transfert de données et "cron" (systemd sur arch) pour automatiser la synchronisation.
On ouvre la fichier de cron avec :
crontab -e
puis , pour une synchronisation à midi tous les jours, on va ajouter cette ligne :
0 12 * * * rsync -a -e 'ssh -p <PORT>' /chemin/vers/origine/monfichier user@IP.IP.IP.IP:/chemin/vers/destination
Pour la partie " 0 12 * * * ", le 0 indique les minutes, le 12 indique les heures, et les étoiles signifient qu'il faut le faire tous les jours.