Mudar um site muito grande: quando o FTP é lento demais e o que usar

Num site com muitos milhares de ficheiros o FTP é lento porque cada ficheiro é um pedido, e o tempo vai-se em abrir e fechar ligações. A saída é mover um só ficheiro grande: comprimir tudo num arquivo, passá-lo por uma ligação que se retoma se cair, e extraí-lo do outro lado. Se os dois lados tiverem SSH, o rsync faz o mesmo sem arquivo nenhum.

Os métodos, lado a lado

Método Serve quando Ponto fraco
Um arquivo (.tar.gz ou .zip) + SFTP Tem acesso ao File Manager ou ao Terminal do lado antigo. Precisa de espaço para o arquivo e para os ficheiros extraídos.
FTP ficheiro a ficheiro Poucos ficheiros, ou um só ficheiro grande. Muito lento com milhares de ficheiros pequenos.
rsync por SSH Os dois lados têm SSH. Retoma onde parou e, nas passagens seguintes, só envia o que mudou. Exige SSH nos dois lados. Veja copiar ficheiros para outro servidor com rsync, em segurança.
Pedir-nos que o façamos Não quer tratar disto sozinho. Fale connosco antes, para dizer o que é e onde está. Veja a nossa página de migração.

Passo a passo com um arquivo

1 Limpe antes de copiar. Cache, registos e cópias antigas só aumentam o que tem de viajar. Veja os limites de que ninguém fala: inodes, processos e memória.
2 Exporte a base de dados à parte, já comprimida. No phpMyAdmin use o método personalizado com compressão; se a base for grande, veja exportar uma base com o phpMyAdmin e, do outro lado, importar uma base grande por SSH.
3 Comprima a pasta do site num só arquivo. No File Manager use Compress. No Terminal: tar -czf site.tar.gz public_html. Inclua os ficheiros escondidos, senão o .htaccess fica para trás.
4 Confirme que o arquivo está inteiro antes de o mover: tar -tzf site.tar.gz lista o conteúdo e falha se estiver danificado.
5 Mova-o por SFTP, que se retoma se a ligação cair. Veja SFTP em vez de FTP: quando pode e porque é melhor e o dia a dia no FileZilla. Se não tiver SFTP do lado antigo, use o File Manager dele para o descarregar.
6 Extraia do lado novo e confira: o número de ficheiros e o tamanho devem bater (du -sh mostra o tamanho de uma pasta).
7 Teste antes de mudar o DNS: testar um site migrado antes de mudar o DNS.

Com rsync, se os dois lados têm SSH

Na hospedagem partilhada o SSH é a porta 2299 e depende de a conta ter acesso por linha de comandos (nem todas têm: veja o Terminal do cPanel). Corra no lado novo, a puxar do antigo, trocando os valores pelos seus:

rsync -avz --partial -e "ssh -p PORTA" utilizador@servidor-antigo:public_html/ ~/public_html/

Pode repetir o comando as vezes que quiser: as repetições só enviam o que mudou. Por isso a boa táctica é uma passagem grande dias antes e uma passagem pequena no dia da mudança.

Não deixe o arquivo ao alcance de todos. Um arquivo do site inclui ficheiros de configuração com palavras-passe. Nunca o ponha em public_html com um nome fácil de adivinhar e apague-o dos dois lados quando acabar.
Faça as contas ao espaço. Durante a extracção coexistem o arquivo e os ficheiros: precisa de espaço para ambos, e de ficheiros (inodes) para todos eles. Se o espaço não chega, extraia por partes ou peça-nos ajuda antes.
No dia da mudança, congele as alterações. Ponha o site antigo em manutenção, exporte a base uma segunda vez, importe, e só então mude o DNS. A ordem completa está em como migrar um site sem tempo parado.

O seu site é grande e não quer arriscar? Diga-nos onde está hoje e quanto pesa, e dizemos-lhe como o faríamos.

Abrir um pedido de suporte

VEJA TAMBÉM

Mudar um site à mão: ficheiros por FTP e a base de dados

Importar uma base de dados grande por SSH

Copiar ficheiros para outro servidor com rsync, em segurança

Como migrar um site sem tempo parado

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?