Copie centenas de milhares de arquivos Mac para NAS

7

Estou tentando transferir minha biblioteca do Aperture para o NAS. Contém algumas centenas de milhares de arquivos (bem pequenos).

Depois que o OS X termina de copiar os arquivos grandes, o tempo estimado da operação de cópia passa de 2 horas para 4 a 5 dias (e aumenta).

Eu sei que uma solução poderia ser tar-los e copiar o tarball, mas o problema é que a biblioteca que eu quero copiar é de cerca de 80GB e tenho apenas 10GB no meu Mac.

Alguma idéia de como copiá-los em tais condições?

    
por OgreSwamp 22.08.2013 / 22:27

4 respostas

7

O problema provavelmente é que você está trabalhando com muitos arquivos pequenos, e a maioria das ferramentas de cópia tem uma sobrecarga por arquivo. É possível tarar os arquivos, enviar os dados para o seu destino e descompactar o arquivo na outra extremidade, sem nunca criar um arquivo tar no sistema.

tar cf - "~/Pictures/Aperture Library" | (cd "/Volumes/NAS/" && tar xf -)

A desvantagem disso é que você não terá nenhum tipo de medidor de progresso, mas deve ser significativamente mais rápido do que uma cópia mais convencional.

    
por 22.08.2013 / 23:56
5

Você pode usar o rsync ferramenta de linha de comando para fazer uma sincronização unidirecional de seus arquivos. A maneira como o rsync funciona facilita a interrupção do processo se você não tiver paciência para isso - você pode facilmente retomá-lo mais tarde. Somente os arquivos que ainda serão transferidos serão copiados.

Você precisa abrir Terminal.app e, em seguida, chamar rsync da seguinte forma:

rsync -avh --progress "~/Pictures/Aperture Library" "/Volumes/NAS/"

Aqui, o primeiro caminho está apontando para sua biblioteca, que por padrão deve estar em Imagens . Se não tiver certeza, você pode arrastar e soltar a biblioteca para a linha de comando do terminal e ela preencherá o caminho automaticamente para você. O mesmo vale para o caminho do seu NAS.

A opção -a ativa o modo de arquivamento, que define alguns padrões, incluindo a cópia recursiva. -v tornará o comando mais detalhado. -h ativa tamanhos de arquivos legíveis por humanos.

O Rsync mostrará um medidor de progresso. Se você quiser cancelar o processo, pressione Ctrl C . Você pode chamar o comando novamente para ter rsync continue.

    
por 22.08.2013 / 23:20
0

se o dispositivo externo suporta shell ssh completo, você pode fazer:

tar cf - /your/dir|ssh -C 'tar xf - -C /directory/where/you/unpack'

não é recomendado usar a opção -c para tar porque você tem muitos arquivos. imprimi-lo causar degradação de velocidade. flag -C para ssh é necessário para a compressão na rede. Um pequeno pedaço de dados faz com que pequenos dados sejam criptografados / descriptografados, o que aumenta a velocidade. mas se ainda for lento, você pode mudar o chiper crypt de 3des para twofish ou se é possível 1des. o último não é seguro, mas é o mais rápido.

caso contrário você pode usar o rsync, mas o rsync deve ser instalado no dispositivo externo. veja o homem. O rsync pode transportar dados pelo servidor rsync ou ssh.

    
por 05.09.2013 / 16:25
0

Experimente o opensource de cópia rápida do MHISoft. Copie arquivos e diretórios de forma recursiva. link

    
por 14.10.2018 / 20:37