Existe algum utilitário unix como o ssh, mas que também sincroniza a pasta atual com o servidor? [fechadas]

1

Eu seria realmente útil se pudesse fazer algo assim:

  1. ir em um diretório local
  2. SSH para um host remoto
  3. O diretório local é sincronizado com o host remoto (local - > remoto)
  4. executa o comando remotamente
  5. sincronizar novamente com os resultados (remoto - > local)

Existe uma maneira de fazer isso com ferramentas padrão como o ssh ou um aplicativo que faz isso?

    
por user19203 15.06.2017 / 17:26

3 respostas

2

Você pode procurar em sshfs - montar um diretório via SSH em vez de transferir o arquivos para frente e para trás.

Nesse caso, você se conectaria ao servidor e montaria o diretório do seu PC. Você poderia então operar diretamente nos arquivos, antes de desmontar e desconectar.

Dependendo da rede, talvez seja necessário encaminhar a porta de escuta do seu servidor SSH local.

É o FUSE, por isso não há necessidade de root / sudo.

Monte com:

sshfs user@host:/home/myuser/mydir ./mydir

Desmontar com:

fusermount -u ./mydir
    
por 15.06.2017 / 17:52
2

Você pode usar rsync --rsh=ssh para as etapas 2 + 3, ssh para a etapa 4 e rsync novamente para a etapa 2 + 5.

Os parâmetros para rsync podem parecer um pouco complexos no início - mas você pode sempre testar com --dry-run primeiro.

    
por 15.06.2017 / 17:37
0

Para a (s) parte (s) de sincronização da sua lista - desde que você deseja transferir bidirecionalmente - você também pode dar uma olhada em unison , que é semelhante, mas diferente do rsync. Você pode executá-lo antes e depois de seu comando e manterá ambos os lados em sincronia.

Semelhante ao rsync:

  • transporte via SSH (assim como local e outros)
  • transferência diferencial sob o capô, se partes dos arquivos forem as mesmas, elas não precisam ser transmitidas completamente, mas somente as partes alteradas (ou diferentes) são transferidas e todo o arquivo é reconstruído do outro lado, muito útil para reduzir o uso de largura de banda

Diferente do rsync:

  • precisa de unsion em ambas as extremidades - e é muito exigente quanto ao número da versão em uníssono
  • sincronização bidirecional: os arquivos de sincronização foram alterados desde a última sincronização de um lado para o outro, e ele detecta se ambos foram alterados e o ignora ou permite escolher
  • um textui e gui para uso interativo estão disponíveis, assim como um modo não interativo

Se você quiser tornar explícita a direção da cópia, eu também sugeriria o rsync, assim como o jvb in O link - também começando com --dry-run (ou -n para breve) é muito útil. Atties comment about the slashes também é importante: comece com -av para copiar o diretório (com saída - para ver o que acontece).

Você pode ou não querer usar --del e amigos, dependendo se você deseja excluir arquivos que desapareceram do SRC no DEST. Dependendo do seu caso de uso, --update (ignora arquivos que são mais recentes no DEST), pode ser útil para você.

    
por 15.06.2017 / 18:09

Tags