Come posso conservare i tempi di modifica dei file quando copio su un NAS?


8

Di recente ho installato una Synology DiskStation sulla mia rete. L'ho montato da un computer Ubuntu 12.04.1 con il pulsante Sfoglia rete in Nautilus 3.4.2. Viene visualizzato come afp: //randall@DiskStation.local/photo/ in Nautilus.

Fin qui tutto bene. Ho quindi caricato molte foto, tutte con tempi di modifica che coprono diversi mesi. Quando ho guardato la directory delle foto sulla DiskStation, tutte avevano dei tempi di modifica per il momento in cui venivano copiati, non i tempi di modifica sul computer di origine. Questo per quanto riguarda l'ordinamento per data sulla DiskStation.

C'è un modo per ricopiare i file ma è necessario conservare la loro data di modifica? Forse ho montato la DiskStation nel modo sbagliato. Forse Nautilus era lo strumento sbagliato da usare. Eventuali suggerimenti?

A proposito, ho spostato gigabyte di foto in un altro NAS (Plextor PX-EH) su SMB / CIFS da Ubuntu 10.04, 10.10, 11.04 e 11.10 con tempi di modifica completamente conservati. Il problema deve riguardare Synology o alcuni software Ubuntu 12.04.


Quel NAS supporta l'accesso SSH? Se sì, puoi usare rsyncuna delle sue interfacce GUI per sincronizzare le foto. Inoltre, dovrebbe supportare anche SMB / CIFS, che puoi montare direttamente in Ubuntu e copiare i dati con cp, rsynco qualsiasi altro strumento.
Sergey,

rsync è il miglior strumento di copia / sincronizzazione da utilizzare. -A (-rlptgoD) conserva i tempi di modifica. Vedi man rsync per maggiori dettagli. Tuttavia, ciò richiede SSH + rsync su entrambi gli host.
Terry Wang,

Risposte:


3

Credo di aver risolto il problema. In Ubuntu 12.04, in Nautilus ci sono due modi per connettersi al NAS DiskStation remoto. Uno conserva i tempi di modifica, uno no.

Nel menu sul lato sinistro della finestra di Nautilus, il pulsante Sfoglia rete ... porta infine a una connessione AFP (Apple Filing Protocol) alla DiskStation, attraverso la quale né Nautilus né le cp -pcopie conservano i tempi di modifica. Ho provato a disabilitare il supporto Apple nella DiskStation, ma in quella modalità la DiskStation non era nemmeno visibile in Browse Network.

Nel menu File di Nautilus c'è un'opzione Connetti al server ... che offre una serie di protocolli. Ho scelto Windows, ho inserito le mie credenziali e mi sono connesso senza problemi. In questa modalità, i tempi di modifica vengono conservati, quindi sono stato in grado di ricopiare le mie foto e conservarne le date.

Grazie Sergey e David6 per i tuoi suggerimenti. Speriamo che le persone trovino preziose queste informazioni.


Ho usato "Connetti al server" per connettermi a un'altra macchina Ubuntu da Nautilus su Ubuntu 18.04, e durante la copia dei file, Nautilus ha conservato i timestamp delle directory, ma non dei file. Il comandante di mezzanotte imposta tutti i timestamp di modifica dei file sull'ora della copia. BeyondCompare file preservato, ma non directory, timestamp.
Dan Dascalescu,

2

Il cpcomando standard ha un --preserveflag che conserva alcuni attributi (per impostazione predefinita - modalità, proprietà, timestamp) durante la copia.

Quindi qualcosa del genere:

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

dovrebbe fare il trucco nel caso "normale". Tuttavia, la afp://cosa nell'URL mi confonde: è Apple Filing Protocol? Tutte le scommesse sono disattivate in questo caso.

Un pensiero che vorrei aggiungere - basarsi sulle date di modifica dei file per catalogare le tue foto è molto fragile. Ecco a cosa servono i metadati di immagine (EXIF ecc.). O, almeno, inseriscili nelle directory in base alla loro data di scatto: foto / 2012/12/05 ecc.


Grazie per la punta, Sergey. Se devo usare la riga di comando, lo farò, ma speravo che Ubuntu fosse in grado di fare la cosa giusta attraverso la GUI. Ha in passato (pre-12.04). E sì, stavo per spostare le foto in cartelle organizzate per mese quando ho notato il problema del tempo di modifica.
Randall Cook,

Ho provato cp -pda un terminale e ho ricevuto questo errore: "cp: tempi di conservazione per '.gvfs / AFP volume foto per randall su DiskStation / target_dir / image.JPG': Operazione non supportata". Quindi immagino cp -pche non funzionerà. Proverò il suggerimento di David6.
Randall Cook,

Quando si utilizza Mac OS per accedere a Synology NAS tramite terminale, cp -pnon si conservano i timestamp. Ho montato il NAS tramite smb. Ho chiesto il supporto di Synology e apparentemente la mancanza di conservazione è il comportamento predefinito. D'altra parte, rsyncconserva i timestamp.
Andrewj,

Solo per quanto riguarda le immagini e se la data presa dall'immagine EXIF ​​ti disturba (e in effetti è fragile). Se qualcuno vuole ripristinare le ultime date modificate da Exif Information, guarda qui: → photo.stackexchange.com/a/69193/48640
Frank Nocke,

Prendi invece in considerazione l' utilizzocp -a .
Pablo Bianchi,

2

Questo è il classico problema push / pull , per la copia remota.

L' host del destinatario non sta rispettando il timbro della data dei file ricevuti . Nautilus ha lo stesso errore, da 10.04 LTS a 12.10 ..

Questo è risolto (per Nautilus), durante la copia tra due host Ubuntu, copiando sempre dal telecomando-host (source) per il locale-host (destinatario). (AKA ' PULL ')


Il tuo problema è con la scatola NAS e non con Ubuntu.

Ne hai bisogno per onorare il timbro della data dei file ricevuti (per impostazione predefinita).

Stai usando NFS (Linux) o CIFS (Windows) per la condivisione di file?


Grazie, David6. Sicuramente non sto usando NFS, poiché è disabilitato su DiskStation, ma la condivisione di file Windows e Mac è abilitata. Quando mi collego alla DiskStation, Nautilus (suppongo) mi chiede solo un nome utente e una password, non un protocollo. Il mount che ottengo ha "AFP" nel suo nome, quindi immagino abbia scelto il protocollo di file Apple. Proverò a forzare un mount CIFS, vedrò se funziona, e poi troverò un modo per ottenerlo automaticamente.
Randall Cook,

0

Si scopre che conservare i timestamp per file e directory è ancora un problema nel 2019! Stavo copiando i file da una macchina Ubuntu 16 a una Ubuntu 18 su SFTP, usando Nautilus su Ubuntu 18, e tutti i file avevano il timestamp corrente, ma le directory avevano i timestamp originali. Anche altri strumenti hanno fallito:

Quello che ha funzionato è stato montare il filesystem remoto usando sshfs :

$ sudo mkdir /mnt/remote-machine
$ sudo sshfs -o allow_other,default_permissions dandv@10.15.x.x:/ /mnt/remote-machine
$ cp -rp /mnt/remote-machine/path/to/files ./
$ # ... or use another file manager

La copia dal percorso montato ha inoltre consentito a Midnight Commander di conservare i timestamp (ma non ha aiutato BeyondCompare).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.