Como sincronizo meu diretório de sites locais com / home / public no host remoto?

1

Eu tenho usado o Transmit.app para sincronizar o diretório do meu site local com /home/public no meu host remoto.

No entanto, estou farto de fazer isso graficamente, clicando 10-15 vezes, toda vez que faço uma pequena alteração no meu site.

Como posso fazer isso a partir da linha de comando? Eu tenho acesso ssh ao meu host remoto. Eu nunca usei rsync alguns ponteiros podem ser úteis.

    
por Vaibhav Bajpai 16.07.2011 / 12:32

2 respostas

1

rsync -avhe ssh --delete /home/user/dir/ [email protected]:dir/

Muito simples e direto.

Espero que você use o git em seu processo de desenvolvimento, então você pode simplesmente usá-lo.

Mais informações sobre o rsync aqui:

link

Para implantar com o git:

link

    
por 16.07.2011 / 12:47
1

Algo parecido com isto:

rsync -avh --delete /local/directory username@remotehost:/home/public

Isso criará directory dentro de /home/public . Se, no entanto, você quiser ter o conteúdo de directory diretamente em /home/public , use algo como (observe a barra à direita):

rsync -avh --delete /local/directory/ username@remotehost:/home/public

Confira man rsync para mais opções. Os usados acima:

  • --delete removerá arquivos não existentes no host remoto, portanto, tenha cuidado com o que você transfere.
  • a é para "arquivamento" e deve ser útil na maioria dos casos
  • h permitirá tamanhos de arquivo legíveis por humanos

Algumas opções adicionais que você pode querer usar:

  • --progress para ver também o progresso atual
  • --dry-run para ver o que teoricamente seria transmitido (mas na verdade não transmite nada)
por 16.07.2011 / 12:42

Tags