Comment puis-je conserver les heures de modification des fichiers lors de la copie sur un NAS?

8

J'ai récemment installé un Synology DiskStation sur mon réseau. Je l'ai monté à partir d'un ordinateur Ubuntu 12.04.1 avec le bouton Parcourir le réseau dans Nautilus 3.4.2. Il apparaît comme afp: //[email protected]/photo/ dans Nautilus.

Jusqu'ici tout va bien. J'ai ensuite téléchargé beaucoup de photos dessus, toutes avec des délais de modifications couvrant plusieurs mois. Quand j'ai regardé le répertoire des photos sur le DiskStation, elles avaient toutes des heures de modification au moment où elles ont été copiées, pas les heures de modification sur l'ordinateur source. Voilà pour les trier par date sur le DiskStation.

Existe-t-il un moyen de recopier les fichiers mais de conserver leur date de modification? J'ai peut-être monté le DiskStation dans le mauvais sens. Nautilus n'était peut-être pas le bon outil à utiliser. Aucune suggestion?

BTW, j'ai déplacé des gigaoctets de photos vers un autre NAS (Plextor PX-EH) sur SMB / CIFS depuis Ubuntu 10.04, 10.10, 11.04 et 11.10 avec des temps de modification entièrement préservés. Le problème doit être avec le Synology ou certains logiciels Ubuntu 12.04.

Randall Cook
la source
Ce NAS prend-il en charge l'accès SSH? Si oui, vous pouvez utiliser rsyncou l'une de ses interfaces graphiques pour synchroniser les photos. En outre, il devrait également prendre en charge SMB / CIFS, que vous pouvez directement monter dans Ubuntu et copier des données avec cp, rsyncou tout autre outil.
Sergey
rsync est le meilleur outil de copie / synchronisation à utiliser. -A (-rlptgoD) conserve le temps de modification. Voir man rsync pour plus de détails. Cependant, cela nécessite SSH + rsync sur les deux hôtes.
Terry Wang

Réponses:

3

Je pense avoir résolu le problème. Dans Ubuntu 12.04, dans Nautilus, il existe deux façons de se connecter au NAS DiskStation distant. On conserve les temps de modification, on ne le fait pas.

Dans le menu sur le côté gauche d'une fenêtre Nautilus, le bouton Parcourir le réseau ... mène finalement à une connexion AFP (Apple Filing Protocol) au DiskStation, par laquelle ni Nautilus ni les cp -pcopies ne conservent le temps de modification. J'ai essayé de désactiver la prise en charge d'Apple dans le DiskStation, mais dans ce mode, le DiskStation n'était même pas visible dans Browse Network.

Dans le menu Fichier de Nautilus, il existe une option Se connecter au serveur ... qui offre une multitude de protocoles. J'ai choisi Windows, entré mes informations d'identification et me suis connecté sans problème. Dans ce mode, les temps de modification sont conservés, j'ai donc pu recopier mes photos et conserver leurs dates.

Merci Sergey et david6 pour vos suggestions. Espérons que les gens trouveront ces informations précieuses.

Randall Cook
la source
J'ai utilisé "Se connecter au serveur" pour se connecter à une autre machine Ubuntu de Nautilus sur Ubuntu 18.04, et lors de la copie de fichiers, Nautilus a conservé les horodatages des répertoires, mais pas les fichiers. Midnight commander définit tous les horodatages de modification de fichier à l'heure de la copie. BeyondCompare fichier conservé, mais pas répertoire, horodatages.
Dan Dascalescu
2

La cpcommande standard a un --preserveindicateur qui a conservé certains attributs (par défaut - mode, propriété, horodatage) lors de la copie.

Donc quelque chose comme ça:

cp -rp /source/photos/folder /destination/photos/folder

devrait faire l'affaire dans le cas "normal". Cependant, la afp://chose dans l'URL me confond - est-ce le protocole de dépôt Apple? Tous les paris sont désactivés dans ce cas.

Je pense que j'aimerais ajouter - compter sur les dates de modification de fichier pour cataloguer vos photos est très fragile. C'est à cela que servent les métadonnées d'image (EXIF, etc.). Ou, au moins, il suffit de les mettre dans des répertoires en fonction de leur date de prise de vue: photos / 2012/12/05 etc.

Sergey
la source
Merci pour l'astuce, Sergey. Si je dois utiliser la ligne de commande, je le ferai, mais j'espérais qu'Ubuntu serait capable de faire la bonne chose via l'interface graphique. Il l'a fait dans le passé (avant le 12.04). Et oui, j'étais sur le point de déplacer les photos dans des dossiers organisés par mois lorsque j'ai remarqué le problème de l'heure de modification.
Randall Cook
J'ai essayé cp -pdepuis un terminal et j'ai eu cette erreur: "cp: conservation des temps pour '.gvfs / AFP volume photo pour randall sur DiskStation / target_dir / image.JPG': opération non prise en charge". Donc je suppose que ça cp -pne marchera pas. J'essaierai la suggestion de david6.
Randall Cook
Lorsque vous utilisez Mac OS pour accéder au Synology NAS via un terminal, cp -pne conserve pas les horodatages. J'ai monté le NAS via smb. J'ai demandé le support de Synology, et apparemment le manque de conservation est le comportement par défaut. En revanche, rsyncconserve les horodatages.
andrewj
Uniquement en ce qui concerne les images et si la date de prise de l'image EXIF ​​vous dérange (et en effet fragile). Si quelqu'un veut restaurer les dernières dates de modification à partir des informations Exif, regardez ici: → photo.stackexchange.com/a/69193/48640
Frank Nocke
Pensez à utiliser à la cp -aplace .
Pablo Bianchi
2

C'est le problème classique de push / pull , pour la copie à distance.

L' hôte destinataire n'honore pas l'horodatage des fichiers reçus . Nautilus a ce même défaut, de 10.04 LTS à 12.10 ..

Ceci est résolu (pour Nautilus), lors de la copie entre deux hôtes Ubuntu, en copiant toujours de l'hôte distant (source) vers l'hôte local (destinataire). (AKA ' PULL ')


Votre problème est avec la boîte NAS et non avec Ubuntu.

Vous en avez besoin pour honorer l'horodatage des fichiers reçus (par défaut).

Utilisez-vous NFS (Linux) ou CIFS (Windows) pour le partage de fichiers?

david6
la source
Merci, david6. Je n'utilise certainement pas NFS, car il est désactivé sur le DiskStation, mais le partage de fichiers Windows et Mac est activé. Lorsque je me connecte au DiskStation, Nautilus (je suppose) ne me demande qu'un nom d'utilisateur et un mot de passe, pas un protocole. Le montage que je reçois a "AFP" dans son nom, donc je suppose qu'il a choisi le protocole de fichier Apple. Je vais essayer de forcer un montage CIFS, voir si cela fonctionne, puis trouver un moyen d'obtenir automatiquement cela.
Randall Cook
0

Il s'avère que la conservation des horodatages des fichiers et des répertoires est toujours un problème en 2019! Je copiais des fichiers d'une machine Ubuntu 16 vers une machine Ubuntu 18 via SFTP, en utilisant Nautilus sur Ubuntu 18, et tous les fichiers avaient l'horodatage actuel, mais les répertoires avaient les horodatages d'origine. D'autres outils ont également échoué:

Ce qui a fonctionné était de monter le système de fichiers distant en utilisant sshfs :

$ sudo mkdir /mnt/remote-machine
$ sudo sshfs -o allow_other,default_permissions [email protected]:/ /mnt/remote-machine
$ cp -rp /mnt/remote-machine/path/to/files ./
$ # ... or use another file manager

La copie à partir du chemin monté a également permis à Midnight Commander de conserver les horodatages (mais n'a pas aidé BeyondCompare).

Dan Dascalescu
la source