Eu tenho MinGW (também conhecido como 'Git Bash ') no Windows 7 e um arquivo em lote que executa o rsync para fazer backup de arquivos em uma unidade externa em um computador linux remoto. Aqui está o arquivo de lote ( my_rsync_file.bat
)
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60 --exclude Downloads . '[email protected]:/media/my_remote_linux_computer/LaCie/My\ Documents'"
Aqui está um pouco de explicação linha a linha:
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
Isso apenas emite uma mensagem para me lembrar o que está acontecendo.
cd ../
Isso muda o diretório um nível acima de onde o arquivo de lote está (para 'Meus Documentos'). O arquivo de lote está em uma unidade externa no meu computador com Windows. Eu quero sincronizar toda a pasta 'Meus Documentos' nesta unidade externa com uma pasta com o mesmo nome em uma unidade externa no meu computador Linux remoto.
REM starting rsync...
Apenas imprime outra mensagem.
bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . [email protected]:/media/my_remote_linux_computer/LaCie/My\ Documents"
bash
: inicia o MinGW que tem uma biblioteca rsync integrada
-c
: não tem certeza do que isso faz com rsync
: biblioteca para sincronizar arquivos, vem com o MinGW
-avzh
: a-Archive, v-Verbose, z-compress, h-legível, estas são as opções comuns (mais: link )
-P
: mostra o progresso de arquivos grandes, por isso sei se ele está congelado ou não. --stats
: mostra o resumo de quantos arquivos e bytes foram transferidos no final de --timeout=60
: mate-o após 60 segundos se ele ficar preso em --exclude
omitir arquivos / diretórios da sincronização, nesse caso eu excluo um diretório chamado 'Downloads'
.
: indica para sincronizar todo o conteúdo de 'Meu Documents '(espere que o especificado para excluir na linha acima)
my_remote_linux_computer
: nome do meu computador linux remoto (não é nome real;)
@128.95.155.200
: o endereço IP do meu computador linux remoto, de link (não é o meu endereço IP real :)
/media/my_remote_linux_computer/LaCie/My\ Documents
: o caminho para o diretório no meu Linux linux remoto er que eu quero receber os arquivos. É uma unidade externa.
Observe que o espaço em "Meus Documentos" é salvo com duas barras invertidas, e o nome completo e o diretório do destino remoto estão entre aspas duplas.
Quando começo a clicar duas vezes no arquivo bat, sou solicitada a senha do meu computador Linux remoto. Quando conclui, recebo uma saída resumida e sou solicitado a pressionar qualquer tecla para fechar.