Obtém arquivos na cópia remota, mas não local

2

Eu tenho uma pasta.

Eu tenho uma cópia desta pasta localmente e outra em um servidor. Eu editei minha pasta local como eu queria e, em seguida, rsync para o servidor.

Existe alguma maneira de comparar essas duas cópias, local e remota, e recuperar uma lista de arquivos que estão no remoto e não no local?

    
por Hermann Ingjaldsson 08.05.2013 / 14:46

3 respostas

2

O seguinte comando rsync executado na máquina local lista os arquivos que existem no host remoto, mas não no host local.

rsync -av --dry-run --delete somedir/ user@remote:~/somedir/

A opção --dry-run lista apenas os arquivos, sem realmente fazer algo, a opção --delete em combinação com -v (detalhado) lista os arquivos que seriam excluídos porque eles existem no host remoto, mas não o host local, que é o que você quer.

    
por 08.05.2013 / 15:55
2
O

Unison File Synchronizer faz exatamente isso usando o algoritmo rsync para o trabalho pesado. Eu uso diariamente.

    
por 08.05.2013 / 15:50
1

Se você já tem chaves ssh para fazer o seu rsync, você pode enviar um comando ssh remoto e listar os arquivos no diretório, e então diferenciá-lo com uma cópia do diretório local.

ssh [email protected] ls -1 ~/foo > /tmp/remote.txt && ls -1 ~/foo > /tmp/local.txt && diff /tmp/remote.txt /tmp/local.txt

Crédito extra, canalize a saída do diff para colordiff por beleza.

    
por 08.05.2013 / 15:47