8th June 2008

A Importância do Backup

Eu era um cara negligente com backups, como a grande maioria. Confiava cegamente nos meus HDs, e mais ainda na minha falta de capacidade de estragar tudo. Até a terceira ou quarta vez que eu perdi dados por falha de hardware ou puta bocabertice mesmo. Aí eu comecei a levar a sério esse negócio de becápi.

Hoje, por exemplo, eu fui fazer a atualização de um maravilhoso plugin que eu uso, o XHTML Video Embed, que gera código XHMTL strict para vídeos do youtube, bastando usar tags e o endereço do clipe. Eu dependo um monte desse plugin, todos os posts com vídeos daqui estão com ele. O problema é que, por algum motivo, a versão nova que saiu hoje não funciona. Dá caca total, nem ativa o plugin. E agora, José? Simples: restaurar o backup. Dois minutinhos depois eu estava com a versão velha (e estável) do plugin rodando.

Agora você me diz que fazer backup é chato, tedioso, para pessoas com muito tempo livre. E eu digo que sim, pode até ser, mas como eu sou um cara legal, vou te ensinar a automatizar isso tudo.

Vamos começar do começo, e vamos por partes, como diria Jack.

Você vai precisar, indispensavelmente, de um servidor com suporte a cronjobs. Se o seu servidor não suporta, corra e assine outro, porque é um servidor muito furreco esse que você tem. Eu recomendo o Dreamhost.

A seguir, você precisa criar uma pasta para armazenar os backups no seu servidor. Por favor, faça um serviço de gente normal, e deixe essa pasta fora da webroot, que é aquela pasta acessível pelo navegador, senão qualquer jaguara pode acabar por descobrir onde está teus backups e te pegar a DB, dados confidenciais, etc, etc.

Dentro desta pasta você precisa de pelo menos três outras pastas: uma para os backups diários, outra para os semanais, e outra para os mensais. Já deu para ver aqui que você fará 3 scripts, certo? Vamos detalhá-los.

O primeiro script toma conta dos backups diários e de remover os que já têm mais de uma semana. O seguinte código deve ser salvo num arquivo de texto, e você deve dar permissão de execução (vulgo chmod +x) nele. No cron, que provavelmente fica no painel do seu servidor, adicione este script para ser rodado diariamente. O código é esse:

#!/bin/bash
suffix=$(date +%y%m%d)
nice -19 tar -czf caminho_do_backup_diário/backup-$suffix.tar.gz pasta_a_ser_salva
mysqldump –opt -uuser_do_mysql -psenha_do_mysql -h host_do_mysql database | gzip -c > caminho_do_backup_diário/database-$suffix.sql.gz
find caminho_do_backup_diário -type f -mtime +7 | xargs rm

Substitua o que está marcado pelo que deve ser substituído.

Explicando: a primeira linha somente informa o sistema de que isto se trata de um shell script. A segunda linha gera um sufixo baseado na data, de modo a que cada arquivo seja gerado com um nome diferente. A terceira linha compacta com o tar.gz a pasta que você quiser. Ela pode ser repetida para compactar em arquivos separados pastas separada, só trocar o nome do arquivo (no caso, backup-*). A terceira linha fará um dump da DB e a compactará. Finalmente, a última linha procura por arquivos com mais de uma semana e os exclui.

Para o backup semanal, o script é o mesmo, somente trocando o caminho_do_backup_diário pelo caminho_do_backup_semanal. Além disso, a última linha deve ser:

find caminho_do_backup_semanal -type f -mtime +30 | xargs rm

De modo a deletar todos os arquivos com mais de um mês. Este script deve ser posto no cron para rodar semanalmente.

Finalmente, o script do backup mensal também deve ser igual aos anteriores, mas removendo a última linha, ou substituindo o -mtime +x pelo valor em dias a guardar o backup. Eu prefiro guardar para sempre, já que eles não são muito grandes, mas 365 deve ser um bom valor para isso. Lembre-se também de alterar o caminho do backup para a pasta de backups mensais, para que um script não interfira no outro. Novamente, mande o cron rodar este script mensalmente.

Agora você deve estar com um bom sistema de backup criado. Você terá sempre um backup de cada um dos últimos 7 dias, um de cada semana do último mês, e um de cada mês, podendo assim reverter para o que for mais conveniente. Vale lembrar que, se der uma zica geral no teu servidor, isso não vai te salvar. Em tese, a empresa de hospedagem deve se responsabilizar pelos dados, mas, se não der… Bem, ferrou. Isso deve aumentar as tuas chances, mas vale a pena baixar estes backups de vez em quando também para o PC.

Outra possibilidade seria enviar estes backups para o email, usando o comando mail. Mas isto não é exatamente seguro, então pode-se criptografar estes backups com o pgp. Mas isso é só para os extremamente paranóicos.

Estou indo implementar isso agora.

Posts Similares

postado em Metablog | 4 Comentários

12th May 2008

Como o Twitter pode destruir um blog

O Twitter pode ser uma ferramenta (?) fantástica para os blogueiros. Acompanhando as Twittadas dos outros blogueiros, dá para se ter uma idéia ótima do que rola atualmente na blogosfera, e tirar umas boas idéias para posts. Mas também dá para se auto-destruir com ele. Explico: Eu tenho muito mais facilidade e paciência para sintetizar uma idéia em 140 caracteres do que para espichar ela, explicar cada detalhe dela. Este post todo poderia ter sido reduzido, por exemplo, em “Nossa, 4 dias sem atualizar meu blog. Twitter ainda vai me deixar desempregado.” Pronto, 78 caracteres.

Explicar bem uma idéia, explorar cada detalhe dela, não é para qualquer um. Nem sintetizar tanto, diga-se de passagem, mas procurar cada parte de uma idéia que pode não ser compreendida de imediato por outras pessoas exige muita empatia, habilidade que eu não tenho. Eu preciso me utilizar de lógica para procurar isso, pensar de forma não linear, e isso é um esforço muito maior do que eliminar cada pedaço óbvio de uma idéia.

Óbvio… Algo sobre o que a minha mãe sempre me fala, por sinal, é que normalmente o que é óbvio para mim, não é para o resto do mundo. Seja por conhecimento prévio, seja por simples facilidade em entender o assunto, em utilizar pura dedução lógica.

Assunto blogueiro sempre tem, senão não mereceríamos o título. Gosto por escrever também, senão faríamos textos medíocres e não ganharíamos dinheiro com o que fazemos (não que seja uma profissão tão rentável, se comparar número de horas trabalhadas sobre lucro líquido). O que pesa mesmo é a lei do menor esforço. O esforço de esmiuçar um assunto, pensar nele até que ele se esgote, escrever sobre ele, ordenar o texto, revisar, achar vocabulário, formatar o post… Tudo isso é grande demais, tudo isso cansa. O que nos mantém blogando, muitas vezes, é pelo simples amor por emitir opinião, nos diferenciar da massa, mostrar que pensamos, que somos mais inteligentes que a maioria. O Twitter nos deixa fazer tudo isso, em 140 caracteres, mas a visibilidade não é a mesma. A importância não é a mesma. Ninguém vai ser lembrado como “Um dos maiores twitteiros do Brasil”, e ser lembrado é o que importa. Ser lembrado é o que nos motiva, é o que prova que a nossa opinião está sendo ouvida e discutida, que estamos fazendo algo, que servimos de exemplo (mesmo que seja um mau exemplo).

Em menos de um mês usando o twitter, eu notei que a produtividade do meu blog caiu drasticamente. Quantas idéias que joguei fora, que teriam dado ótimos posts, se não fosse pela comodidade que o Twitter nos dá. Então eu me comprometi a twittar menos e pensar bem antes de fazê-lo. Não dá para deixar a ferramente escravizar o criador [de conteúdo].

O Twitter tem vantagens demais para ser deixado de lado, porém. Ele é um ótimo meio de auto-promoção. Os textos são tão curtos que, antes de que seja possível se vale ou não a pena lê-lo, já é possível tê-lo lido. Daí para que as pessoas notem que vale a pena acompanhar o que tu dizes, é um passo.

Acompanhar gente inteligente também é ótimo, muitas vezes não é óbvio para nós que algo vale a pena ser comentado, que renderia um post, até vermos o dito assunto ser comentado por outras pessoas. Às vezes não é nada óbvio que a nossa opinião pode ser tão polêmica que um post mais completo sobre o assunto seria interessantíssimo.

Twitter é como beber vinho, recomendado para quem sabe o que está fazendo.

Posts Similares

postado em Metablog | 2 Comentários

  • Anúncios

  • Pesquisa

  • Arquivo