usando DIFF com um sistema remoto

0

Eu gostaria de obter a diferença entre dois diretórios (não arquivos), digamos dir1 em um sistema local e dir2 que está localizado em um servidor remoto. br> Pelo que pude encontrar na internet, a "melhor" opção é usar rsync , como tal:

rsync -rvc --delete dir1/    user@ip:/home/user/dir2

Depois de verificar a diferença (se houver alguma), preciso rsync novamente do local para o remoto para que os dois diretórios sejam idênticos. Agora, para fazer isso, preciso verificar o valor de saída desse comando e proceder de acordo (estou fazendo isso tudo em um script de shell). Originalmente fiz isso com o comando diff , o que me permitiria verificar o valor de saída (0 para nenhuma diferença e 1 para uma diferença entre os diretórios). Mas com rsync o código de saída simplesmente retorna se o comando for executado com sucesso, o que não é o que eu preciso.

Aqui está o que preciso fazer:

  1. verifique se dois diretórios são diferentes (obtenha o valor de retorno 0 ou 1)
  2. se não for diferente, então nada acontece
  3. se diferente, então usando rsync os diretórios são sincronizados

p.s: Eu fiz isso localmente (de um diretório para outro) e funciona perfeitamente com diff , não com o sistema remoto.

Qualquer sugestão é apreciada. Obrigado.

    
por Yama 20.01.2018 / 14:13

0 respostas