Como preservar os tempos de modificação de arquivos ao copiar para um NAS?

8

Eu instalei recentemente um Synology DiskStation na minha rede. Montei-o em um computador Ubuntu 12.04.1 com o botão Browse Network no Nautilus 3.4.2. Ele aparece como afp: //[email protected]/photo/ no Nautilus.

Por enquanto, tudo bem. Carreguei muitas fotos nele, todas com tempos de modificações que cobriam vários meses. Quando examinei o diretório de fotos no DiskStation, todos eles tinham tempos de modificação no momento em que foram copiados, e não os tempos de modificação no computador de origem. Tanta coisa para classificá-los por data no DiskStation.

Existe uma maneira de copiar novamente os arquivos, mas sua data de modificação é preservada? Talvez eu tenha montado o DiskStation da maneira errada. Talvez o Nautilus tenha sido a ferramenta errada a ser usada. Alguma sugestão?

BTW, mudei gigabytes de fotos para um NAS diferente (Plextor PX-EH) sobre SMB / CIFS do Ubuntu 10.04, 10.10, 11.04 e 11.10 com os tempos de modificação totalmente preservados. O problema deve estar no Synology ou em algum software Ubuntu 12.04.

Randall Cook
fonte
Esse NAS suporta acesso SSH? Se sim, você pode usar rsyncou uma de suas interfaces gráficas para sincronizar fotos. Além disso, ele deve suportar SMB / CIFS também, que você pode diretamente montar no Ubuntu e copiar dados com cp, rsyncou qualquer outra ferramenta.
Sergey
O rsync é a melhor ferramenta de cópia / sincronização para uso. O -a (-rlptgoD) preserva o tempo de modificação. Veja man rsync para mais detalhes. No entanto, isso requer SSH + rsync nos dois hosts.
Terry Wang

Respostas:

3

Acredito que resolvi o problema. No Ubuntu 12.04, no Nautilus, existem duas maneiras de conectar-se ao DiskStation NAS remoto. Um preserva os tempos de modificação, um não.

No menu à esquerda de uma janela do Nautilus, o botão Navegar na Rede ... eventualmente leva a uma conexão AFP (Apple Filing Protocol) com o DiskStation, através da qual nem o Nautilus nem as cp -pcópias preservam o tempo de modificação. Tentei desativar o suporte da Apple no DiskStation, mas, nesse modo, o DiskStation nem estava visível no Browse Network.

No menu Arquivo do Nautilus, há uma opção Conectar ao servidor ... que oferece uma série de protocolos. Eu escolhi o Windows, inseri minhas credenciais e me conectei sem problemas. Nesse modo, os tempos de modificação são preservados, de modo que pude copiar novamente minhas fotos e preservar suas datas.

Obrigado Sergey e david6 por suas sugestões. Espero que as pessoas achem essa informação valiosa.

Randall Cook
fonte
Eu usei "Conectar ao servidor" para conectar-se a outra máquina Ubuntu do Nautilus no Ubuntu 18.04 e, ao copiar arquivos, o Nautilus preservava os registros de data e hora dos diretórios, mas não os arquivos. O comandante da meia-noite define todos os carimbos de data e hora da modificação do arquivo para o horário da cópia. BeyondCompare arquivo preservado, mas não diretório, timestamps.
Dan Dascalescu
2

O cpcomando padrão possui um --preservesinalizador que preserva certos atributos (por padrão - modo, propriedade, registros de data e hora) ao copiar.

Então, algo como isto:

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

deve fazer o truque no caso "normal". No entanto, a afp://coisa na URL me confunde - é o Apple Filing Protocol? Todas as apostas estão desativadas neste caso.

Acho que gostaria de acrescentar - confiar nas datas de modificação do arquivo para catalogar suas fotos é muito frágil. É para isso que servem os metadados da imagem (EXIF etc.). Ou, pelo menos, basta colocá-los nos diretórios de acordo com a data da filmagem: photos / 2012/12/05 etc.

Sergey
fonte
Obrigado pela dica, Sergey. Se eu tiver que usar a linha de comando, usarei, mas esperava que o Ubuntu fosse capaz de fazer a coisa certa através da GUI. Tem no passado (pré-12.04). E sim, eu estava prestes a mover as fotos para pastas organizadas por mês quando percebi o problema do tempo de modificação.
Randall Cook
Tentei cp -pem um terminal e recebi o seguinte erro: "cp: preservando os tempos para '.gvfs / AFP volume photo for randall no DiskStation / target_dir / image.JPG': operação não suportada". Então eu acho cp -pque não vai funcionar. Vou tentar a sugestão de david6.
Randall Cook
Ao usar o Mac OS para acessar o Synology NAS via terminal, cp -pnão preserva os carimbos de hora. Eu montado o NAS via smb. Pedi suporte à Synology e, aparentemente, a falta de preservação é o comportamento padrão. Por outro lado, rsyncpreserva os carimbos de hora.
andrewj
Somente em relação às imagens e se a data da imagem EXIF ​​tirada o incomoda (e é realmente frágil). Se alguém quiser restaurar as datas da última modificação das informações Exif, veja aqui: → photo.stackexchange.com/a/69193/48640
Frank
Considere usar em seu cp -alugar .
Pablo Bianchi
2

Esse é o problema clássico de push / pull , para cópia remota.

O host do destinatário não está cumprindo o carimbo de data dos arquivos recebidos . O Nautilus tem essa mesma falha, de 10.04 LTS a 12.10.

Isso é resolvido (para o Nautilus), ao copiar entre dois hosts Ubuntu, sempre copiando do host remoto (origem) para o host local (destinatário). (AKA ' PULL ')


Seu problema está na caixa NAS, e não no Ubuntu.

Você precisa respeitar o carimbo de data dos arquivos recebidos (por padrão).

Você está usando NFS (Linux) ou CIFS (Windows) para compartilhamento de arquivos?

david6
fonte
Obrigado, david6. Definitivamente, não estou usando o NFS, pois está desativado no DiskStation, mas o compartilhamento de arquivos do Windows e do Mac está ativado. Quando eu me conecto ao DiskStation, o Nautilus (eu acho) só pede um nome de usuário e senha, não um protocolo. A montagem que recebo tem "AFP" em seu nome, então acho que escolheu o protocolo de arquivo da Apple. Vou tentar forçar uma montagem CIFS, ver se isso funciona e, em seguida, encontrar uma maneira de obter isso automaticamente.
Randall Cook
0

Acontece que preservar carimbos de data e hora para arquivos e diretórios ainda é um problema em 2019! Eu estava copiando arquivos de uma máquina Ubuntu 16 para uma Ubuntu 18 por SFTP, usando o Nautilus no Ubuntu 18, e todos os arquivos tinham o registro de data e hora atual, mas os diretórios tinham os registros de data e hora originais. Outras ferramentas também falharam:

O que funcionou foi montar o sistema de arquivos remoto usando 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

A cópia do caminho montado também permitiu ao Midnight Commander preservar os carimbos de data / hora (mas não ajudou o BeyondCompare).

Dan Dascalescu
fonte