Como uma pausa de uma ação de cópia quando a Internet ou o local é desconectado. Concha

1

Ok. Então eu tenho alguns arquivos .sh executáveis que fazem backup de um diretório. Neste caso, o diretório de desenvolvimento. Eu tenho dois computadores. Um Mac (que é o computador principal e uma área de trabalho do Windows 7). Como meu Mac tem apenas 500 GB de armazenamento, quero fazer o backup dos dados para o outro computador. Eu faço isso sem fio.

Para conseguir isso, eu tenho um script de shell que verifica se estou conectado ao main-pc / Users / Public /. Sei que a localização não é segura e alterarei a localização dentro de alguns dias, mas por enquanto só quero que funcione.

No geral, o script funciona bem, garante que o local exista. Se eu não estiver conectado, configurei-o para montar o computador. Ele copia tudo corretamente também.

EXCETO, se a internet de repente perder conexões, ou minha conexão com o outro computador for interrompida (o que acontece de vez em quando). Quando isso acontece, a localização de repente não existe e continua executando o script, mas não faz nada e apenas faz coisas como

x - > y A localização não existe ... Blá blá blá.

Minha pergunta é: como posso ter certeza de que, se eu perdesse a conexão, simplesmente pausaria o backup e aguardaria até que o local se conectasse? Isso é possível? Eu não posso simplesmente recriar a localização, já que não estou armazenando isso localmente.

Obrigado. (E eu percebi que seria mais fácil apenas pegar um disco externo, mas qual é a graça disso?)

Meu script é bem longo, mas aqui está a seção referente ao backup.

rm -r -v /Volumes/Users/Public/InfiniteBackups/Development
cd /Volumes/Users/Public/InfiniteBackups
mkdir Development
cp -v -f -rip ~/Development/ /Volumes/Users/Public/InfiniteBackups/Development
echo "Files have finished transferring"
say "Files have finished transferring"
exit 0

Não é o script mais bonito, mas funciona. Isso está no OS X 10.8.

    
por Josiah 20.12.2012 / 16:53

1 resposta

1

Eu usaria o rsync e verificaria o valor de saída. Continue tentando até sair bem.

O Rsync usará hashes para garantir e enviar a menor quantidade possível de dados, além de ser bastante resistente em conexões de rede.

link

link

    
por 20.12.2012 / 17:10