Sync_Doss
Indice NDT
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour la réalisation.
Utilisateur | Technicien | Expert |
Simple | Moyenne | Complexe |
– d’une heure | + de 5 heures | 12 heures et + |
OcM
Contexte de la réalisation.
Modalité de l’éxécution.
Synchroniser un dossier partagé vers un autre, est assuré par nos NAS, mais si on souhaite descendre dans un sous-dossier seulement, il faut utiliser la commande Rsync et ses contraintes (ouverture de port entre autres). La commande LFTP permet, via le protocole FTP, une synchronisation pour cette granularité de dossier. Sa seule contrainte pour garantir un miroir identique entre source et destination, est d’être assurée qu’au niveau du home d’un utilisateur sur le site distant.
Le principe est le suivant : «j’ai un utilisateur et son home sur mon NAS, je peux le synchroniser sur un autre NAS si cet utilisateur existe.»
Mieux : «j’ai plusieurs utilisateurs sur mon NAS local, je souhaite faire une sauvegarde de leur home vers un dossier home unique d’un NAS distant. »
SyncDoss satisfait aux deux exemples.
C-I-P-E
Dans les onglets suivants on retrouve les éléments pour le (C)ontenu son (I)nstallation, son (P)aramètrage et enfin son (E)xploitation.
Sync_Doss est un script bash composé :
- du script – Sync_Doss
- du fichier de paramètrage – Param.txt
Le script s’appuie sur le fichier de paramètrage pour plus facilement installer et adapter le script bash à tous et dans toutes situations. (pas besoin d’un accès telnet/ssh au NAS pour installer, paramètrer et exploiter Sync_Doss)
Prérequis :
- Paquet PHP installé (si PhotoStation et/ou WebStation présents, alors PHP l’est aussi)
- Notification des mails paramètrée dans le panneau de configuration
- Service FTP activé dans le panneau de configuration des deux NAS et sur le site distant il faut ajouter le routage au niveau du modem/routeur/box concerné.
On installe le script et son fichier de paramètrage dans un dossier du NAS.
Ce n’est pas le dossier visé pour la « synchronisation ».
Idéalement un dossier personnel type admin ou utilisateur (dans homes/user)
Une fois déposé et paramétré .. on y accède plus.
exemple :
un dossier spécifique dans le dossier run d’admin donc un chemin global qui peut être :
/volume1/homes/admin/run/SyncDoss
C’est dans le fichier param.txt que cela se passe !
Comme son nom l’entend, il s’agit d’un fichier texte modifiable avec n’importe quel éditeur. (on évitera word…)
ATTENTION : les paramètres sont inscrits à des numéros de ligne précis. Il faut éviter les retours chariots.Que se passe-t-il si le paramètre n’est pas trouvé ou incomplet, incohérent ou à la ligne du dessous…
Un contrôle des paramètres est réalisé tant sur leur cohérence (présence d’une corbeille si souhaitée), comme aussi l’existence du dossier visé. Le traitement ne se poursuit QUE si le fichier de paramètrage est correctement renseigné. Dans le cas contraire, le fichier de trace TR_param.txt généré dans le dossier d’exécution renseigne sur les informations manquantes et/ou erronées.
Les Paramètres
– Variable : SYNC_DOSS
– Dossier source à synchroniser
– Format : /volume1/homes/daffy/
– Ligne 15
– Un contrôle est fait sur la non appartenance à un dossier racine du NAS et de préférence sous Homes.
#—————————————————-
– Variable : NAS_DEST
– adresse du NAS distant
– Format : NDD (monnas.myds.me)
– Ligne 25
– Contrôle de cohérence effectué.
#—————————————————-
– Variable : DOSSIER_DEST
– Dossier du NAS distant
– Format : /home
– Ligne 35
– Dossier père qui reçoit les données de la synchronisation.
#—————————————————-
– Variable : REP_DATA
– Dossier d’exécution du programme
– Format : /volume1/DATA/monscript
– Ligne 45
– Un contrôle est fait sur la non appartenance à un dossier racine du NAS
#—————————————————-
– Variables : email
– Destinataire et expéditeur (suppose que le paramètrage d’envoi soit fait par avance –)
– Ligne 65 et 75
– format email
– Contrôle syntaxique seulement.
#—————————————————-
– Variables : utilisateur et mot de passe du NAS distant.
– Lignes : 55 et 56
– Un contrôle est fait sur la cohérence des données. [test de connexion]
– Données cryptées après le 1er lancement.
(paramètre automatique à V pour la saisie en clair et C lorsque ces données sont cryptées.
Si on doit modifier utilisateur et mot de passe, il faut repasser la variable en LI 54 à V)
#—————————————————-
– Variable ENVMAIL (envoi de mail)
– Précise si on souhaite un mail à l’issue du traitement
– Valeur numérique : 1 oui 0 non
– Ligne 85
– Contrôle de cohérence fait.
#—————————————————-
Les traces
Sont générées dans le dossier d’exécution les fichiers suivants :
– F_init
– Trace la bonne installation (paramètrage OK date d’initialisation correcte)
– Si absent il est généré à la 1ere exécution.
– TR_param.txt
– Trace la bonne lecture et interprétation des paramètres de param.txt
– Si absent est généré à chaque exécution (si changement de paramètrage param.txt)
– Permet d’investiguer si une erreur est trouvée dans le fichier de paramètrage
– TR_smtp.txt
– Verification des fichiers de paramètrage d’envoi de mail.
– TR_message.txt
– Le Message constituant le mail envoyé (ou pas mais qui est toujours généré)
Démo
Le paquet
Composé de 3 fichiers
- Sync_Doss le script Bash – V3
- Param.txt le fichier de paramètrage à amender
- Sync_Doss.pdf la notice complémentaire
FAQ
Les principales questions/réponses collectées sur le sujet et/ou les éventuelles évolutions.
J’avais vu la page avec LFTP, mais j’avoue ne pas avoir eu le courage de mettre les mains dans le cambouis du système…
Là au moins je comprend et maîtrise les choses !
Parfait pour ma sauvegarde des mes données sensibles de mes utilisateurs locaux, vers un NAS d’un ami sans devoir lui demander des droits exorbitants pour mettre en place un RSYNC.
En plus même en ADSL la 1ère fois fut couteuse en bande passante, mais désormais seules les différences sont considérées et cela va assez vite. (vivement la fibre quand même).
Bravo et merci !