Precisa de ajuda para criar o shell script para copiar

0

Eu tenho milhares de imagens (raw) no meu computador classificadas em várias pastas e subpastas. Eu quero copiá-los em nuvem. Eu montei com sucesso a movimentação da nuvem. Devido à minha largura de banda de upload limitada, pode levar alguns dias para concluir o upload. Quando eu estou tentando copiar arquivos usando o nautilus, algumas vezes o processo de cópia apenas faz uma pausa devido a uma desconexão da rede por um segundo a mais, de modo que o Nautilus não pode copiar um arquivo. Eu preciso agir (ignorar arquivo e anote esse arquivo) para que o processo de cópia seja retomado. Eu copiei cerca de 1000 arquivos na noite passada e o processo de cópia foi interrompido algumas vezes. Após a conclusão do processo de cópia, copiei manualmente esses arquivos ignorados, algumas vezes esses arquivos ignorados são parcialmente copiados para o destino, então eu tive que substituir esse arquivo. Eu não posso sentar no computador por horas para verificar se o processo de cópia está pausado por algum motivo. Eu gostaria de automatizar este processo de cópia usando o script de shell.

Vocês podem recomendar os comandos para este processo para que eu possa construir um script de shell? Preciso de ajuda em

  1. Deve copiar todos os arquivos e pastas, subpastas
  2. Seria bom se o processo de cópia mostrasse algum tipo de progresso, então eu sei quanto está concluído.
  3. Se o arquivo existir no destino, ele deverá substituí-lo automaticamente.
  4. Se o processo de cópia for interrompido, tente novamente várias vezes.
  5. Se ainda falhar, deverá registrar os detalhes do arquivo para que eu possa examinar mais tarde.
por Green Star 15.02.2016 / 13:54

1 resposta

2

O que você precisa é de um único comando: rsync

Para fazer a cópia do primeiro punho, faça o seguinte:

cd path/to/local/directory
rsync --verbose --recursive --progress /path/to/cloud

Sempre que você se desconectar ou quiser atualizar, faça o seguinte:

cd path/to/local/directory
rsync --verbose --recursive --progress --update /path/to/cloud

Para mais sinos e assobios: página de manual aqui .

    
por Fabby 16.02.2016 / 00:34