lolo2000 Posté(e) le 9 mars 2021 Partager Posté(e) le 9 mars 2021 Bonjour, Pour une question de sécurité je dois créé 2 dossiers partagés sur mon Synology, Un dossiers est nommé A et le deuxième B La question est la suivante comment faire une synchro de dossiers en interne? ces à dire: je met un fichier dans le dossier A, puis il est déplacé vers le dossier B j'ai trouvé un script que j'utilise avec planifcation de tache, cela fonctionne plutôt pas mal le voici: find /volume1/OUT-A/* -maxdepth 0 -amin +1 -exec mv '{}' /volume1/OUT-B/ \; Mais il y a 2 problemes: Les médias que je transfère font pour la plupart du temps entre 20G et 500G (médias video) Donc lorsque je copie un média dans le dossier A, le Synology déplace le média dans le dossier B, sans attendre la fin de la copie. Je me retrouve avec un médias corrompu,j'ai ajouté l'option -cmin +10, mais 10minutes, cela peut etre suffisant comme insuffisant. Existe t'il une option qui permette de dire que le fichier est terminé de copier, ou que le fichier est fermé. 2 eme probleme: Lorsque je met des dossiers dans le dossier A, la commande n'attend pas que la copie soit terminée, il me déplace le dossier, du coup cela met la copie en erreur. L'idée serait qu'il ne prenne en considération le fichier ou le dossier une fois la copie terminée. Merci d'avance lolo 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 9 mars 2021 Partager Posté(e) le 9 mars 2021 @lolo2000 Bonjour, il y a 8 minutes, lolo2000 a dit : La question est la suivante comment faire une synchro de dossiers en interne? Et as-tu essayé tout simplement avec le package Synology Drive ? Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 9 mars 2021 Partager Posté(e) le 9 mars 2021 Ce n'est pas une synchro que tu fais là, c'est un déplacement, il faudrait a minima une copie pour parler de synchronisation. Mais une synchronisation c'est plus complexe que ça. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 9 mars 2021 Auteur Partager Posté(e) le 9 mars 2021 Oui effectivement ce n'est pas une synchro, c'est un MOVE. Il me semble que drive ne fait pas de déplacement inter dossier partagé. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dominix.pf Posté(e) le 10 mars 2021 Partager Posté(e) le 10 mars 2021 salut. je ne comprend pas l’intérêt de déplacer un fichier de A vers B puis bak again. Si tu peux nous donner ton intention on comprendra peux être mieux ce que tu veux faire, et te donner d'autres solutions. je sais ça ressemble un peu a "dite moi vos besoins, je vous dirai comment vous en passer" mais sinon je vois pas. la seule piste que j'aurais, c'est comme on est sur le même filesystem je ferait un link (soit Hard soit symbolique) entre les fichiers A/fic et B/fic pour traitement en B/ ... mais bon ... sans savoir pourquoi ... bonne chance. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 10 mars 2021 Auteur Partager Posté(e) le 10 mars 2021 Bonjour La norme de sécurité draconiennes qu'est le TTPN, nous est imposé si nous voulons travailler avec eux. En gros : Le serveur de récupération de données doit être sur un vlan1 et avoir internet et passer obligatoirement par un Firewall. Dans mon cas un watchguard m270. Les stations audio et vidéo pas d'internet et Vlan2. chaque workstation à un ou plusieurs disque audio et vidéo monté ou en FC ou iscsi. Ce serveur de récupération dépose les médias dans un NAS, dans le dossier À. Ce dossier est scanner par l anti-virus du Synology. Puis via le script, le média qui est dans le dossier À passe dans un dossier B pour être mis à dispo dans un serveur de production (quantum) Tout cela afin que si une personne entre par effraction dans le serveur de récupération de données et veuille récupèrer des médias très important, il ne puisse pas. En gros une personne entrant par effraction sur le serveur de réception. Ne pourra atteindre les stations de travail. Le Nas étant la pour faire barrière J'espère avoir été clair. En arrivant au travail je vous transmets un synoptique de l'infra demandé par TTPN. Cela vous aidera 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 11 mars 2021 Auteur Partager Posté(e) le 11 mars 2021 En fait ce qu'il me faudrait, c'est script qui puisse déterminer si la taille du fichier ou du dossier augmente ou non Si taille augmente pas de déplacement, si taille augmente pas déplacement du fichier ou dossie 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 12 mars 2021 Partager Posté(e) le 12 mars 2021 Plus que vérifier l'augmentation de la taille du fichier, je vérifierais le checksum. Tu pars sur l'idée d'un script qui fait deux vérifications sur un intervalle de X secondes. Si l'output est le même c'est que le fichier n'a pas changé. De là tu peux partir sur une boucle if qui s'occupera de déplacer le fichier d'un dossier à l'autre. Sinon ne rien faire. Un peu de biblio : https://stackoverflow.com/questions/12900538/fastest-way-to-tell-if-two-files-have-the-same-contents-in-unix-linux 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 12 mars 2021 Auteur Partager Posté(e) le 12 mars 2021 Je suis pas un expert du bach ou shell ou autre, mais dans le dossier A, vont etre copiées des médias avec des noms, qui ne sont jamais les memes, je ne vois pas comment faire du diff sur de multiples fichiers ou dossiers? Bonne journée lolo 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 12 mars 2021 Partager Posté(e) le 12 mars 2021 Premier résultat Google : https://www.cyberciti.biz/faq/bash-loop-over-file/ Une bête boucle for, maintenant c'est à toi de bosser. 😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 13 mars 2021 Auteur Partager Posté(e) le 13 mars 2021 Merci je regarde c1 Ca 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dominix.pf Posté(e) le 24 mars 2021 Partager Posté(e) le 24 mars 2021 (modifié) personnellement je ne me fierais pas à la taille, car il est commun pour un transfert FTP de s’arrêter et de reprendre. je préférerais utiliser une commande comme lsof /mon/path/to/fichier ce donne dans une boucle until [ -z "$(lsof /mon/path/to/fichier.txt)" ];do sleep 1;done;echo fini qui dit fini, ou qui attend que le fichier soit libéré sur Synology il y a un pseudo lsof dans le package de la synocommunity -> synocli-monitor ce qui donne sur synology : until [ -z "$(lsof|grep /mon/path/to/fichier.txt)" ];do sleep 1;done;echo fini En dernier recours il y a le lsof du pauvre (sans install de package de la commutity) until [ -z "$(ls -l /proc/{1,2,3,4,5,6,7,8,9}*/fd/ |grep '/tmp/toto.txt')" ];do sleep 1;done;echo fini Modifié le 24 mars 2021 par dominix.pf 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 11 octobre 2021 Auteur Partager Posté(e) le 11 octobre 2021 Bonjour merci pour la réponse. La il n'y a pas de ftp Juste une copie dans le dossier A Mais effectivement la copie peu planter. Je vais tenter cela Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 11 octobre 2021 Auteur Partager Posté(e) le 11 octobre 2021 Ma ligne de command devrait a peu près comme ça. until [ -z "$(lsof|grep /volume1/out-A)" ];do sleep 1;done;echo fini If fini mv /Volume1/out-B À savoir que je scan un dossier partagé dans lequel il y a des dossiers avec des médias. Ou des médias à la racine de out-A J'ai fait une command qui me permet de déplacer dans Out-B tout medias de plus de 5mn. Find /volume1/A* - mindepth 1 - max depth 3 - type f - clin +1-exec mv '{}' /volume1/B/ \; Mais avec un dossier cela ne fonctionne pas. Il déplace les médias dans le dossier avant que ceux ci ne soit fermé. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 12 octobre 2021 Auteur Partager Posté(e) le 12 octobre 2021 Et avec cmin +5, mais uniquement des fichiers 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolo2000 Posté(e) le 15 février 2022 Auteur Partager Posté(e) le 15 février 2022 Bonjour je reviens un peu apres et en retard, mais cela fonctionne avec lsof until [ -z "$(lsof|grep /mon/path/to/fichier.txt)" ];do sleep 1;done;echo fini Mais pour ameliorer cette command est t'il possible de mettre une option de ne prendre que les dossiers.Par exemple Le 24/03/2021 à 08:25, dominix.pf a dit : Bonjour je reviens un peu apres et en retard, mais cela fonctionne avec lsof until [ -z "$(lsof|grep /mon/path/to/fichier.txt)" ];do sleep 1;done;echo fini Mais pour ameliorer cette command est t'il possible de mettre une option de ne prendre que les dossiers.Par exemple type d until [ -z "$(lsof|grep /volumes1/A)" ] -type d ;do sleep 1;done;echo fini puis find /volume1/A/* -type d -exec mv '{}' /volume1/B/ \; merci d'avance 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.