Como uma linha de código errada acabou com todo um provedor de hospedagem

É normal em nossa vida cometer erros. Alguns podem levar à demolição de uma casa errada, outros afetam nossos smartphones, às vezes atrapalhando o rendimento do sistema com erros de memória, e alguns podem até render processo à fabricante. Desta vez, um erro aparentemente pequeno destruiu uma empresa inteira. Uma linha de código escrita de forma errada apagou todos os dados da empresa de hospedagem de sites de Marco Marsala, assim como todos os sites pelos quais ela era responsável e os backups também. O empresário tentou buscar ajuda no Server Fault, um fórum de especialistas em servidores, e descreveu o problema.
 |
"Eu toco um provedor de hospedagem com mais ou menos 1.535 clientes e uso o Ansible para automatizar algumas operações que devem rodar em todos os servidores. Na última noite, eu acabei rodando, sem querer e em todos os servidores, um script Bash com um comando rm -rf {foo}/{bar} com essas variáveis indefinidas em função de um bug no código acima dessa linha."
O código é tão famoso que se tornou uma piada entre programadores. Este comando rm -fr é uma instrução que deleta tudo o que for indicado. O rm avisa que algo será removido, enquanto o próximo r apaga tudo o que estiver em um diretório especificado. Já o f significa que a ação deve ser forçada, ignorando qualquer aviso que possa aparecer. E, como o empresário não especificou nenhum diretório, deletou tudo o que havia nos computadores do servidor. Inclusive o backup. "Todos os servidores foram deletados e os backups também, porque o armazenamento remoto foi montado pouco antes pelo mesmo script", explicou Marsala.
A solução? "Sinto muito, mas sua empresa agora está essencialmente morta", resumiu um usuário do fórum, chamado Sven. "Talvez você tenha um chance bem pequena de se recuperar disto caso desligue tudo imediatamente e leve seus discos para uma empresa de recuperação de dados com boa reputação. Vai custar extremamente caro e ainda assim é improvável que realmente te ajudem, além de demorar um bocado de tempo", lamentou.
Nenhum usuário soube como ajudar Marsala. Muitos deram dicas do que ele deveria ter feito, o que obviamente não adiantou nada, já que não existe um control+z nessa situação, e máquinas do tempo, se existirem, não são fáceis de se arrumar. "Você está falido. E não precisa de ajuda técnica, precisa ligar para o seu advogado", alertou Michael Hamtpon. "Isto não é má sorte: é mau planejamento reforçado por um descuido completo", disse outro usuário.
E voltamos à pergunta: a solução? Sentar e chorar. Depois, ligar para o advogado para tentar minimizar os danos, pedindo desculpas e negociando uma reparação a cada um dos clientes da empresa.
Se servir de conforto a Marsala, ele não foi o primeiro a cometer um erro desta magnitude. Alguns usuários citaram um outro tópico no mesmo fórum de dois anos antes, quando um programador perdeu acesso ao sistema ao colocar um espaço errado no código, no que ficou chamado de "Erro da segunda de manhã".
O tópico de Marsala foi removido do Server Fault, mas a história está eternizada no cancioneiro da internet. E no cache do Google. Será lembrada por todos no futuro, da mesma forma que o emocionante conto de Leonam e seu amor pelo Dreamcast, entre tantos outros.
Fonte: CenárioMT

Comentários

Mais vistas da semana

GnuCash, programa para contabilidade gratuito!

Planejamento e Portabilis divulgam novas funcionalidades do software público i-Educar

Melhore seu Python com um shell interativo

Alferes Linux - A Plataforma Tecnológica Corporativa da Polícia Militar de Minas Gerais

Linux Educacional será distribuído em novos computadores da rede pública do Estado do Paraná