Como fazer backup e restaurar seu site
Publicados: 2018-05-07Ao construir o site da sua empresa, a primeira coisa que geralmente o preocupa é colocá-lo em funcionamento; dá muito trabalho, o principal é fazer tudo funcionar.
Então, tudo está funcionando perfeitamente e, de repente, algo acontece. Foi-se. Seus arquivos estão faltando.
Se você construiu seu site em um servidor local, pode sentir que já possui um backup. Você tem tudo em dois lugares, certo? Os arquivos existem no servidor e no seu computador.
O que poderia dar errado?
Não é preciso muita imaginação para pensar no que pode acontecer. Seu computador morre por algum motivo, seja uma oscilação de energia inesperada ou seu filho de 3 anos decide que é divertido colocar leite em seu laptop. Mas ei, você o armazenou no servidor, então por que deveria se preocupar, certo?
Não tão rápido….
E se o servidor tiver um problema ou se aquele provedor de hospedagem super barato e aparentemente confiável falir sem avisar? E quanto ao fato de seu site possuir um banco de dados? Você tem uma cópia exata de cada arquivo no seu computador?
É aqui que o backup de um site se torna importante!
Neste artigo, abordarei tudo o que você precisa saber sobre como fazer backup do seu site, incluindo por que, o que é e como.
Por que fazer backup do seu site?
Há vários motivos pelos quais você deve fazer backup do seu site.
1. Malware/Randosomware
Sem entrar em muitos detalhes, não existe um sistema completamente seguro. Não importa quantos procedimentos e protocolos de segurança você implemente, todos os sistemas são vulneráveis.
Embora existam graus de segurança, alguns sistemas são mais vulneráveis que outros. É virtualmente impossível impedir que seu site sofra todos os tipos de ataques, ainda mais se você realmente espera que as pessoas usem seu site.
Pense nisso como se fosse sua casa; você poderia selá-lo como Fort Knox, mas ninguém conseguiria entrar, então você precisa de portas. Claro que suas portas têm boas fechaduras, mas alguém sempre pode arrombar uma janela.
O ponto mais fraco de qualquer sistema são os humanos. Basta um clique errado ou responder ao que parecia ser um e-mail importante para sucumbir a um ataque de phishing. Uma vez que alguém esteja em seu sistema, por meio de software ou de outra forma, é possível que essa pessoa assuma o controle de seus arquivos para obter resgate.
Em vez de ter que desembolsar dinheiro para algum desconhecido que pode ou não devolver seu site ou arquivos, você estará muito menos vulnerável se tiver uma cópia.
2. Arquivos excluídos/comandos incorretos/erros humanos
Algo tão simples como excluir o arquivo errado em seu servidor, seja com um simples “clique/excluir” no Windows/Mac, ou uma linha de comando no Linux ou seus derivados pode limpar um arquivo chave ou todos os arquivos.
(No Linux, o comando rm -r diretórioyname remove um diretório e todos os arquivos nele contidos, muitas vezes sem confirmação, pior ainda, rm -rf / pode excluir até mesmo arquivos somente leitura e tudo da raiz, o que essencialmente matará seu máquina inteira!).
3. Hacks
O comportamento malicioso é mais comum do que gostaríamos. Às vezes, não é tão simples quanto um malware ou hack do tipo ransomware; há muitos por aí que invadem sites como esporte. Mesmo que o conteúdo do seu site seja algo que você não considera de alto valor para um hacker, isso ainda pode ocorrer.
Este é um risco particularmente para aqueles que usam plataformas populares como o WordPress, que têm muitos pontos fracos bem documentados, que, se não forem corrigidos, deixam você com um grande alvo nas costas.
4. Mau desenvolvedor/funcionário/quem quer que seja
Muitas empresas dependem fortemente de terceiros para projetar nossos sites. Na maioria dos casos, os desenvolvedores web são tão honestos quanto todos nós. A maioria (como <smile>seu sincero </smile>) são pessoas excelentes e honestas (e modestas!).
No entanto, talvez você entre em uma disputa de pagamento? As pessoas sendo pessoas variam muito quando se trata do que consideram comportamento ético. É muito fácil para um funcionário irritado (ou nefasto) que tem acesso ao back-end do seu site simplesmente retirar o site do ar se não estiver satisfeito ou por qualquer motivo.
Isso é algo em que não gostamos de pensar, mas geralmente é uma boa ideia estar seguro.
5. Falhas no servidor
A tecnologia é ótima quando funciona. Na maioria dos casos, especialmente se você estiver usando uma empresa de hospedagem sólida e confiável, travamentos de servidor onde seus dados são apagados são uma ocorrência rara.
Mas mesmo os melhores fornecedores têm problemas.
Além disso, em muitos casos hoje em dia, é mais provável que seu site esteja hospedado em um servidor virtual . Em outras palavras, seus dados não estão em um computador físico independente, mas são compartilhados com muitas outras pessoas ou empresas. É muito comum que provedores de hospedagem hospedem muitas instâncias “virtuais” diferentes em um servidor físico.
Para a maioria das empresas de hospedagem barata, isso é mais comum do que nunca e, a menos que você esteja disposto a desembolsar muito dinheiro para obter seu próprio servidor físico, é muito provável que você esteja compartilhando espaço. Se algo der errado em outro segmento, isso poderá afetar seu site e seus arquivos.
Além disso, mesmo que você tenha hospedado seu site em um servidor físico, ele ainda será essencialmente apenas um computador. Embora os servidores tendam a ser armazenados em locais seguros, como acontece com o seu próprio computador, ainda há sempre a chance de algo dar errado.
Os servidores podem superaquecer, pode haver um desastre natural inesperado, uma flutuação de energia exatamente na hora errada ou até mesmo uma falha oculta do fabricante que pode causar a perda de seus dados.
Além disso, os farms de servidores podem ser alvo de ataques coordenados de negação de serviço dedicado (DDOS) que, em casos extremos, podem exigir uma reinicialização completa; isso sempre apresenta o risco potencial de perda de alguns ou de todos os dados.
Por estas razões, geralmente é uma boa ideia manter uma cópia de todos os dados cruciais em outro local, de modo que, se um deles for possível, não importa quão improvável (variando de caso para caso) isso ocorra.
O que você deve fazer backup em seu site?
Os tipos de coisas que você deseja fazer backup podem ser divididos nas seguintes categorias:
1. Arquivos
Esses são todos os arquivos que compõem o seu site. Eles incluem todas as páginas/scripts/arquivos CSS e imagens ou documentos, ou qualquer conteúdo multimídia que seja a parte central do seu site.
Você pode pensar que estes são conteúdos que não mudam; eles permanecem como objetos estáticos. Como resultado, normalmente são as partes do seu site mais fáceis de gerenciar e fazer backup.
2. Banco de dados
Como é provável que aconteça, a maioria dos sites usa bancos de dados para armazenar produtos, páginas individuais ou outros itens que provavelmente sejam variações de conteúdo duplicado.
Se o seu banco de dados for um tanto estático (ou seja, a maioria dos itens do seu site raramente muda), é relativamente simples manter um backup, assim como os arquivos.
No entanto, se, como na maioria dos casos, esse conteúdo for fluido, como postagens de blog, produtos, transações ou qualquer outra coisa que mude ou seja adicionada regularmente, você precisará encontrar uma maneira de fazer backup desses dados regularmente.
3. Contas de e-mail
Se você estiver armazenando um registro de e-mails ou informações de contato dos usuários. Provavelmente, você também terá um servidor de e-mail completo e registros de todas as suas transações de e-mail por meio de seu host. Você provavelmente desejará manter todos os registros de suas interações, e-mails e listas de e-mail usando esta conta.
NOTA RÁPIDA: Se você estiver armazenando informações de contato em um banco de dados diferente do seu servidor de e-mail, você também precisará fazer backup disso!
Como fazer backup do seu site
Fazer backup do seu site não é particularmente difícil, mas para começar, você precisa entender que existem vários métodos. Eles variam em qualidade, confiabilidade e facilidade (dependendo do seu nível de habilidade). Geralmente é uma boa ideia usar mais de um.
1. Através do seu host
Qualquer bom host deve criar um backup automático de todos os arquivos do servidor web. O host deve fazer isso internamente e normalmente fará backups diários, independentemente do que você fizer.
Portanto, você poderá recorrer ao backup do seu host se algo acontecer.
No entanto, os hosts da web normalmente não mantêm várias versões de backup e você está à mercê deles. Eles terão algum tipo de ferramenta para você criar manualmente seus próprios backups.
Por exemplo, você pode criar facilmente um backup completo do seu site por meio do cPanel, um painel de controle comum usado pela maioria dos hosts da web.
Para usar as ferramentas de backup do seu servidor, você precisará perguntar ao seu provedor e ler todos os manuais fornecidos. Normalmente, seus arquivos serão armazenados como um arquivo compactado e armazenados em seu servidor.
Pode ser necessário especificar o tipo de formato desejado, dependendo da sua plataforma. Eles também fornecerão instruções sobre como restaurar um backup, se necessário.
As vantagens de usar os serviços do seu provedor são bastante óbvias; normalmente é perfeito com seu host.
No entanto, as desvantagens têm a ver especificamente com o seu provedor de hospedagem. Embora possam ser excelentes para hospedar seu site, nunca é aconselhável manter todos os ovos na mesma cesta.
Se algo der errado, como um incêndio em seu farm de servidores ou se eles sofrerem algum tipo de ataque de hackers (sim, isso ocorre ocasionalmente; ninguém está imune e os provedores de hospedagem são os principais alvos).
Por essas e outras razões, é uma boa ideia baixar ocasionalmente uma cópia dos arquivos para o seu computador. Você provavelmente também desejará manter pelo menos manualmente uma cópia do seu site.
2. Plug-ins de backup de site CMS
Se você usa um CMS popular, como o WordPress, existem muitos plug-ins que você pode instalar, como o Backup Buddy. Eles são muito convenientes e tendem a ser muito fáceis de instalar.
No entanto, os plug-ins de backup normalmente podem ter o efeito negativo de tornar o seu site mais lento. Como PHP é a linguagem de programação nativa do WordPress, a maioria dos plug-ins também usa PHP.
Embora isso possa ser eficaz, pode tender a ser executado lentamente, o que significa que eles podem tornar o seu site mais lento durante o processo de execução (normalmente funcionam com o mesmo mecanismo que está produzindo o seu site), também adiciona confusão ao seu site, e também é uma abstração de nível superior ao ideal.
Outro fator é que você pode, ironicamente, estar tornando seu site mais vulnerável. O próprio PHP tem alguns problemas de segurança conhecidos, especialmente se o código usado estiver desatualizado ou escrito de maneira descuidada.
A menos que você tenha certeza absoluta do código que vai para esses plug-ins (e sério, quem tem tempo para se debruçar sobre o código-fonte de outra pessoa?), o plug-in que você está usando para manter seus dados seguros pode torná-los menos seguros. (Sim, muitos são confiáveis e fornecem código de qualidade. Eu não entraria em pânico aqui, mas isso é algo para se manter em mente).
Embora o PHP seja uma ótima linguagem de codificação (está entre as minhas favoritas e eu a uso diariamente), é uma boa ideia manter o máximo de recursos em execução fora desta plataforma. Normalmente, se você deseja executar backups no nível do sistema operacional.
Se você estiver executando o Linux ou qualquer um de seus derivados, provavelmente desejará executar um script shell, ou um arquivo em lote no Windows, ou um arquivo macos em um Mac.
3. Backups manuais de sites
Muitos de nós podemos estar familiarizados com a maneira “old school” de fazer backup de arquivos: fazer uma cópia de todos os arquivos e colocá-los em um disco rígido removível ou armazená-los na nuvem.
Este é essencialmente o mesmo método que você usaria com seu site, com algumas ressalvas.
Claro, se você criar seu site localmente e depois transferi-lo via FTP (ou, esperançosamente, SFTP) para o seu host, tecnicamente você já terá uma cópia do seu site.
No entanto, há uma diferença fundamental…
Se você tiver um banco de dados em seu site, provavelmente terá conteúdo diferente localmente (em seu banco de dados de teste) do que no site ativo. Isto é especialmente verdadeiro se você estiver usando algum tipo de software CMS (WordPress e similares).
Se for esse o caso, quase todo o conteúdo do seu site é armazenado em um banco de dados e não reside em nenhum arquivo, fora do próprio banco de dados.
Fazer backup do banco de dados é relativamente fácil, principalmente se você usar MySQL. Você simplesmente precisa obter um dump SQL do banco de dados; que é apenas um arquivo de texto simples que contém todo o conteúdo do seu banco de dados.
Uma vez criado, ele pode simplesmente ser carregado ou executado como um arquivo para reconstruir o banco de dados.
Método de linha de comando
Isto é relativamente simples. O comando a seguir fará backup de um banco de dados inteiro.
$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql
Se você quiser mais detalhes sobre como executá-los e as várias opções, verifique a documentação do MySQL
Método PhpMyAdmin
Vá para a guia de exportação do banco de dados, escolha todas as opções que você precisa (normalmente você provavelmente desejará incluir “descartar tabelas” e criar opções de banco de dados para tornar possível o carregamento de uma nova cópia sobre uma versão mais antiga, mas cuidado, comprador… isso irá realmente apague os dados existentes para substituí-los por uma nova cópia).
Você pode então pegar todos os arquivos criados (o código-fonte, o banco de dados e as imagens) e compactá-los e manter cópias onde quiser (eu pessoalmente gosto de usar armazenamento em nuvem, como Google Drive ou Dropbox).
A desvantagem óbvia é que você deve se lembrar de fazer isso e é muito fácil esquecer. Portanto, se quiser dar um passo adiante, você pode escrever scripts que fazem tudo isso e usar o sistema para executá-los periodicamente.
No Linux, é relativamente fácil executar o dump sql via linha de comando e, em seguida, executar esse script como um cronjob, para ser executado uma vez por dia, semana ou em qualquer período de tempo que você desejar.
No Windows você pode usar um lote e o agendador de tarefas integrado. Minha maneira típica de fazer isso é executar um lote com um dump sql e, em seguida, uma cópia em massa de um diretório inteiro para minha conta do Dropbox.
NOTA RÁPIDA: Você desejará limpar periodicamente o diretório onde eles estão armazenados; embora os arquivos sql, que são arquivos de texto, tendam a ser pequenos, eles podem se acumular com o tempo e, se você estiver executando outros backups de imagens ou arquivos multimídia, poderá descobrir que sua unidade/servidor está explodindo em pouco tempo.
4. Serviços de backup de sites
É claro que lidar com tudo isso manualmente pode parecer um pouco cansativo; ainda requer atenção e algo tão simples como esquecer de limpar um diretório pode resultar na perda de arquivos ou na adição repentina de taxas à sua conta (o Dropbox permite alguns shows de graça, mas depois aumenta rapidamente a partir daí).
Por esse motivo, se você administra um site comercial, provavelmente é uma boa ideia usar um serviço de backup profissional. Normalmente, eles farão tudo o que foi mencionado acima, mas de uma forma mais confiável.
Ao contrário dos backups manuais, outra pessoa fará o trabalho para você e cuidará de todos os pequenos problemas que você possa encontrar. Ao contrário dos plug-ins, eles serão executados fora do seu site; você não precisa adicioná-los. Eles não devem diminuir a velocidade de processamento e não criarão nenhuma vulnerabilidade de segurança ao fazê-lo.
Abaixo está uma breve amostra de alguns serviços de backup populares. ( Isenção de responsabilidade : este não pretende ser nem remotamente um guia abrangente, apenas o suficiente para entender o que está por aí. Não testei todos os serviços mencionados).
- Backups Sucuri – uma ótima solução, pois recomendamos o uso do Sucuri para a segurança do seu site.
- CodeGuard
- BackupGuard
- Soltar meu site
Estratégia de backup de site: práticas recomendadas
Não importa o método escolhido, o backup do seu site deve ter um plano de fluxo de trabalho.
Embora todos os métodos mencionados acima funcionem, você absolutamente precisará ter uma estratégia em vigor, ou qualquer sistema mencionado poderá sofrer algumas vulnerabilidades graves.
Faça uma lista de verificação e determine as respostas para as seguintes categorias:
1. Com que frequência fazer backup do seu site?
Isso é importante. Você deseja executar backups diariamente ou mensalmente?
Você pode considerar a ideia de executar um sempre que houver uma mudança em seu site (novo produto, nova postagem no blog, etc.). Isso depende de você, mas você deve certificar-se de ter um plano em vigor.
2. Agendamento automatizado
Seguindo o acima exposto, definir um cronograma é fundamental. Como linha de base, você provavelmente desejará definir um cronograma para quando os backups ocorrerão.
3. Use armazenamento remoto
Onde você está armazenando esses dados? Você não vai querer apenas manter cópias em seu servidor ou mesmo em seu laptop. Você vai usar um disco rígido externo? A nuvem? Qual serviço de nuvem?
4. Período de retenção
Quanto tempo você precisa para manter cópias de cada backup? Os arquivos de um ano atrás serão necessários ou estão apenas acumulando poeira e podem ser substituídos por backups mais recentes?
5. Criptografia
A segurança dos seus backups é importante, especialmente se você tiver informações proprietárias (como informações confidenciais sobre preços de produtos ou, ainda mais importante, registros de clientes).
Tenha um plano para manter os backups criptografados e protegidos (criptografia de chave privada AES de 256 bits e segurança de transporte TLS/SSL). Saiba mais sobre criptografia.
6. Armazene backups em matrizes RAID
Matrizes RAID (matrizes redundantes de discos independentes) não são apenas uma boa ideia para criar múltiplas cópias do seu site e/ou dados, mas também melhoram o desempenho.
Eles fornecerão proteção extra caso um dos discos falhe. Este é um recurso típico fornecido por serviços de backup profissionais.
7. Restauração Seletiva
Tenha um procedimento em vigor caso não precise restaurar todas as partes do seu site. Talvez a maior parte esteja bem, mas algumas peças podem ter sido perdidas.
Por exemplo, se uma tabela de produtos estiver danificada, você só precisará substituir essa peça no dump SQL. Normalmente, essa é uma ideia melhor do que eliminar tudo para substituir um arquivo.
Na verdade, é um erro comum substituir tudo se algo der errado. Claro, isso funcionará, mas você perderá tudo o que ocorreu após o último backup.
O melhor é identificar se você precisa substituir tudo. Salve backups completos como último recurso se tudo mais falhar.
Como restaurar o backup do seu site
Ok, seu site desapareceu, mas você tem um backup. Como você restaura seu site a partir do backup? Isso é relativamente simples.
Se a cópia estiver armazenada como um arquivo zip, basta descompactá-lo e carregar todos os arquivos de volta ao local original.
Pegue o arquivo SQL (o arquivo de texto que foi criado durante o despejo SQL) e recrie o banco de dados usando a linha de comando ou se estiver usando o phpMyAdmin (ou qualquer outro sistema gráfico de gerenciamento de banco de dados como MySQL Workbench) e importe o arquivo ou copie tudo em uma janela SQL e execute-o.
Teste-o localmente e, se tudo estiver funcionando, carregue tudo de volta no servidor. Você deve voltar a funcionar em pouco tempo.
Se você estiver usando um serviço de backup profissional, esse processo provavelmente será ainda mais fácil. Qualquer serviço decente deve fornecer ferramentas para restaurar seu backup, seja uma restauração parcial ou completa do site.
Dica bônus: use preparação para desenvolvimento
Além do simples backup de arquivos existentes, se você estiver desenvolvendo seu próprio site ou trabalhando com uma equipe de desenvolvedores, você pode considerar um sistema de controle de versão para manter um registro de todas as etapas durante o processo de desenvolvimento.
Ao construir seu site, normalmente haverá versões e alterações na forma como seu site foi projetado. Talvez você esteja fazendo uma reformulação completa do seu site, mas gostaria de manter uma cópia do site antigo.
Além disso, como costuma acontecer, durante o desenvolvimento do site, algo dá terrivelmente errado e você precisa encontrar um arquivo como estava antes de ser alterado. Você também desejará manter uma versão de desenvolvimento local do seu site para fazer atualizações ou alterações antes de lançá-lo publicamente.
É aqui que os sistemas de versionamento entram em ação. São semelhantes a fazer cópias de pastas sempre que você faz uma alteração, mas são muito mais organizados e podem permitir o desenvolvimento colaborativo.
Git é uma ferramenta fantástica para manter seu processo de desenvolvimento bem organizado. Ele funciona na criação de bons backups de código localmente e também para ser facilmente movido para a nuvem para backup remoto seguro.
Em vez de ter múltiplas cópias de arquivos em diretórios diferentes; eles são armazenados em filiais , o que pode permitir que diversas pessoas trabalhem nos arquivos sem tantos riscos de conflitos.
Quando estiverem prontos, eles podem ser mesclados nas principais ramificações de desenvolvimento e, eventualmente, em uma ramificação mestre para serem implantadas.
Abaixo estão dois dos repositórios Git mais populares.
- O GitHub é gratuito se você estiver disposto a compartilhar seu código-fonte (é Open Source em sua essência), mas também oferece repositórios de código privado muito acessíveis. Também é um ótimo lugar para procurar trechos de código e hospeda uma grande comunidade de desenvolvedores
- BitBucket é semelhante; embora não seja uma comunidade tão grande, eles oferecem alguns repositórios privados gratuitamente.
Conclusão
Embora alguns métodos tenham melhores vantagens sobre outros, fazer backup do seu site é uma necessidade que não deve ser esquecida. Idealmente, você deve considerar o uso de uma combinação dos métodos mencionados acima.
Certificar-se de que você tenha cópias duplicadas dos arquivos evitará uma enorme dor de cabeça no futuro. Mesmo que nada de ruim aconteça ao seu site e você não precise disso, pense no sono extra que você terá sem se preocupar com isso.
Você faz backup de seus arquivos em seu computador; seu site deve seguir as mesmas regras.