Recherche petit script

Bonjour

Je suis à la recherche d’une bonne âme qui pourrait me donner un petit script me permettant de récupérer la galère dans laquelle m’a mis la fonction copier avec l’option ignorer d’un NAS synology.

J’ai voulu faire un transfert de données d’un NAS vers un autre tout neuf et lors d’une deuxième et derniere synchronisation, la fonction n’a pas copié les fichiers et repertoires ayant le même nom même si ils avaient une date et une heure differente suite à une modification.
Synology considére que 2 fichiers sont identiques du moment qu’ils ont le même nom !!!

Je voudrais donc svp la commande, ou le script, qui analyse un énorme dossier source et, à partir de cette source, copie (écrase) tous les fichiers/repertoires (d’une manière récursive) d’avant la date du 30 septembre 2021 sur le dossier cible, ce qui évitera d’écraser sur le Nas cible tous les repertoires/dossier modifiés aprés le 30 septembre 2021.

Si on peut être plus light, l’ideal est de: checker tous les dossiers sources en disant que tous les fichiers entre la date du 20 septembre et du 30 septembre sont copiés (donc écrasent) leurs homologues sur les dossiers cible sauf les dossiers/fichiers créés ou modifiés aprés le 30 septembre. Ce qui devraient limiter le nombre de fichiers et dossiers a transférer

Par avance merci beaucoup car là je suis dans une belle galère.

Ce ne sera pas l’idéale mais si tu possède une machine sur le même réseau que les deux synology, un simple rsync d’un volume vers l’autre devrait te permettre de remettre tous d’équerre.

Bonjour,

comment t’y es tu pris dans un premier temps pour synchroniser tes deux NAS?
Ce sont tous les deux des Synology?

Bonjour

Oui ce sont deux nas synology

J’ai simplement copié les fichiers de l’un vers l’autre dans un premier temps et ensuite fait de même au moment du basculement mais en utilisant la fonctionnalité copier avec l’option ignorer dans un deuxième temps.

Oui j’ai la possibilité d’avoir une machine sur le même réseau et de monter dedans les 2 nas, mais quelle fonctionnalité rsync n’ecraserait pas sur le nas de destination les fichiers plus vieux que la date du 30 septembre? Je viens de parcourir le man de rsync et je n’ai pas trouvé d’options de ce type.

Normallement sur les Synology il y a une fonctionnalité de synchronisation de deux NAS

https://kb.synology.com/fr-fr/DSM/tutorial/How_to_sync_data_between_multiple_Synology_NAS_via_Synology_Drive

Bonjour

Les docs synology c’est plus que minimaliste et donc je ne veux pas prendre de risque. C’est d’ailleurs la raison pour laquelle je n’ai pas utilisé cette fonctionnalité.

Mais bon, voila dans mon cas cen’est pas cette fonctionnalité qui va me sortir du bourbier ou je suis car forcement l’un va ecraser l’autre et ce n’est pas ce que je veux.

donc scanner et lister des fichiers en fonction de leur date de creation ou modification ça je sais le faire

find /Documents -newermt 2021/09/20 ! -newermt 2020/09/30 -print0 | xargs -0 ls -l

mais ensuite copier ses fichiers d’un repertoire vers un autre sans écraser les fichiers dans le dossier cible ayant le même nom mais qui sont datés de aprés le 30 sept…ca je ne sais pas faire.

Merci pour votre coup de main.

Bonjour

Je viens de lire ce tuto Manpage of rsync

En effet il existe une option -u qui devrait faire ce que je veux.

Je teste ça lundi

1 J'aime

méthodes pas très belles :
1.
dans le dossier cible tu cherches les fichiers qui sont datés de aprés le 30 sept, tu mets dans un fichier recents.txt

ensuite tu ne copies un fichier que s’il n’est pas présent dans recents.txt

OU
2.
tu crées un fichier reference.txt daté du 30 sept ( à± 1 jour à tester )
find /Documents -newermt 2021/09/20 ! -newermt 2020/09/30 |while read fich; do if test reference.txt -nt "$fich" ; la tu copie le fichier ; done

OU
3.
tu mets en chmod 000 les fichiers récents sur la cible
tu copies les fichiers, les récents auront un impossible de créer le fichier standard : Permission non accordée

le tout à tester - je ne l’ai pas testé

Ben non justement. la fonctionnalité permet de mettre à jour deux ou plusieurs synology de façon synchronisée. C’est dommage d’avoir ce genre de matériel, et d’utiliser encore la hache de pierre.
La synchronisation se fera sur les dates de modification et/ ou de creation et sur les noms de fichiers.

Après le rsync fait ça aussi très bien avec une commande du type rsync -aurv /rep/source /rep/dest
Attention sans ‹ / › à la fin du repertoire source il copie le repertoire source lui meme, avec un ‹ / › à la fin, il ne copie que le contenu du repertoire source

Merci @dindoun

le soucis va ensuite être le traitement à la chaine car j’ai 10To de données et les fichiers de plus de 2Go ne representent que 10% du volume total.
Mais juste pour voir, je regarderai quand même ce que sort tes méthodes, ca peut etre interressant.

Merci @Zargos

Ben quand on voit que pour synology deux fichiers sont identiques uniquement parce que leur nom est identique, si j’en suis à la hache de pierre, eux ils sont encore à l’age des dinosaures !!
Je n’ose imaginer la fiabilité de leur solution de synchronisation quand je vois qu’ils ne sont même pas capable de gérer un simple copier coller.

Merci pour la commande rsync je vais tester cela cette semaine.

pour rsync :
grsync est un gui sympa

Non pas d’accord, il y a aussi la taille et la date. C’est ce que j’utilise sur le mien

Et tu es sous quelle version DSM?
Parce que là, j’ai encore eu aujourd’hui l’exemple d’un fichier xls dont la version datait de la premiere copie et qui n’a pas été mis à jour sur le seconde alors que le fichier source en lui même a été modifié entre les deux actions.

Enfin j’aime bien la reponse de synology quand je leur dis que le fait de ne pas prendre en compte date et heure est un gros problème:

###### EL-HAYANY Omar

###### 2021-10-22 09:30:30

Bonjour Monsieur,

Je vous remercie pour votre retour,

C’est marqué ignorer des fichiers ou dossiers portant le même nom dans le dossier de destination, donc ce n'est pas une faille système.

En espérant avoir répondu à votre demande.

Cordialement.

Omar,

Technical Support
Support is available from Monday to Friday 9.00 to 18.00.