altera o diretório para a unidade de rede no Cygwin

8

Eu tenho um novo roteador sem fio em casa e tenho uma unidade de 3 TB conectada a ele. Eu gostaria de escrever um script de backup no cygwin que irá copiar todos os arquivos alterados para o HD externo.

Para começar, como faço para cd no disco rígido? No windows file explorer eu simplesmente digito //192.168.1.1 e ele me leva para a unidade de rede. No entanto, quando digito cd //192.168.1.1 , isso não funciona. Então, como posso mudar o diretório para o HD?

Em segundo lugar, alguém tem conselhos sobre como escrever um bom script de backup para copiar certos diretórios (recursivamente) se eles mudaram?

    
por drjrm3 05.01.2014 / 03:34

1 resposta

12

Você pode observar as unidades montadas na visualização do ambiente UNIX do cygwin sobre o sistema operacional Windows subjacente, procurando em /cygdrive . Faça um df no prompt do shell cygwin (geralmente bash ) para ver onde as unidades estão montadas. Aqui está a documentação de onde as unidades montadas são encontradas . Por exemplo, para mudar para a unidade de rede montada como Windows f:\ , você poderia cd to /cygdrive/f , como em:

$ cd /cydrive/f

Veja um exemplo:

  1. O OS X Mavericks (UNIX) tem uma unidade de 3 TB montada como /Volumes/Time Machine
  2. Um Windows XP (VM) virtual está sendo executado no OS X e vê /Volumes/Time Machine as X:\
  3. O Cygwin está sendo executado na VM do XP e vê /Volumes/Time Machine como /cygdrive/x ou até x:

$ ls x:

Aqui está uma foto:

SeoHDexternonãoestiveratualmentemontadonohostdoWindowsejáestivermapeadoparaumpontodemontagemem/cygdrive,talvezsejanecessáriomontarocompartilhamentoderede. Dê uma olhada na implementação do comando mount do UNIX do cygwin.

Outra maneira de ver a pasta de rede é na linha da sintaxe que você usou - eu tenho meu servidor OS X exportando minha pasta de login do OS X, whmcclos, como uma pasta compartilhada SMB. pode definir meu diretório de trabalho atual para essa pasta compartilhada do cygwin, na minha VM do Windows XP, em execução no OS X, da seguinte maneira:

$ cd //192.168.0.2/whmcclos

Dessa forma, eu nem preciso ter a pasta montada como uma letra de unidade para visualizá-la dentro do cygwin.

Para fazer backup de arquivos que foram alterados, rsync recursivamente fará backup somente dos arquivos em uma árvore de diretórios que foram alterados - ele calcula um conjunto mínimo de backups e apenas faz backup do que foi alterado e tem muitas opções, incluindo copiando para unidades de rede e podendo ser usado com criptografia via ssh . Veja algumas dicas para usar o rsync com o cygwin. Aqui está um comando para compactar e arquive (recurse) a origem na unidade montada como c:\ e coloque o destino na unidade montada como f:\ no cibergrupo subjacente do host Windows.

$ rsync -avz /cygdrive/c/path/to/source /cygdrive/f/path/to/target

Se precisar de mais ajuda, por favor, deixe um comentário.

    
por 05.01.2014 / 04:47