Rsync sobre ssh sincroniza toda a pasta de origem em vez de apenas arquivos ausentes

2

Eu RTFMed rsync até o osso, mas eu simplesmente não consigo descobrir o que estou fazendo de errado aqui. Estou tentando sincronizar duas pastas pelo SSH. As pastas são idênticas, exceto por um arquivo, como você pode ver aqui:

nick@rilmir-laptop:~$ ssh -i .ssh/rilmir_passless nick@rilmir ls -l /home/nick/foobar/
total 2540
-rwxrwxrwx 1 nick nick 427676 Jan 19  2008 P1010001.JPG
-rwxrwxrwx 1 nick nick 431335 Jan 19  2008 P1010002.JPG
-rwxrwxrwx 1 nick nick 432706 Jan 19  2008 P1010003.JPG
-rwxrwxrwx 1 nick nick 431954 Jan 19  2008 P1010004.JPG
-rwxrwxrwx 1 nick nick 420208 Jan 19  2008 P1010005-rilmir.JPG
-rwxrwxrwx 1 nick nick 420208 Jan 19  2008 P1010005.JPG
nick@rilmir-laptop:~$ ls -l /home/nick/foobar/
total 2540
-rw------- 1 nick nick 427676 Sij 19  2008 P1010001.JPG
-rw------- 1 nick nick 431335 Sij 19  2008 P1010002.JPG
-rw------- 1 nick nick 432706 Sij 19  2008 P1010003.JPG
-rw------- 1 nick nick 431954 Sij 19  2008 P1010004.JPG
-rw------- 1 nick nick 420208 Sij 19  2008 P1010005.JPG
-rw------- 1 nick nick 420208 Sij 19  2008 P1010005-laptop.JPG

Então, agora eu tento rsyncing-los, e o que eu recebo é o diretório inteiro do host, como se o rsync não se conectasse ao controle remoto.

nick@rilmir-laptop:~$ rsync -avz --dry-run -e "ssh -i .ssh/rilmir_passless nick@rilmir:/home/nick/foobar/"  /home/nick/foobar/
sending incremental file list
drwxrwxr-x          4,096 2014/08/27 20:00:08 .
-rw-------        427,676 2008/01/19 15:13:12 P1010001.JPG
-rw-------        431,335 2008/01/19 15:13:12 P1010002.JPG
-rw-------        432,706 2008/01/19 15:13:12 P1010003.JPG
-rw-------        431,954 2008/01/19 15:13:12 P1010004.JPG
-rw-------        420,208 2008/01/19 15:13:12 P1010005-laptop.JPG
-rw-------        420,208 2008/01/19 15:13:12 P1010005.JPG

sent 138 bytes  received 449 bytes  1,174.00 bytes/sec
total size is 2,564,087  speedup is 4,368.12 (DRY RUN)
nick@rilmir-laptop:~$ 

Meu google-fu falhou, não consigo entender por que isso falha. Alguma idéia?

Editar:
Sim, eu sei que esta é uma corrida a seco, que é proposital durante o teste.

    
por dijxtra 27.08.2014 / 20:22

1 resposta

3

Remova o dry-run (significa apenas "simular"), bem como use um formato adequado para os parâmetros do ssh.

rsync -avz -e "ssh -i .ssh/rilmir_passless" nick@rilmir:/home/nick/foobar/ /home/nick/foobar/

Aliás, isso traz o conteúdo remoto para o lado local. Você pode querer --delete para remover coisas que estão no dest, mas não na fonte.

    
por 27.08.2014 / 20:30

Tags