it-swarm-pt.tech

Maior erro de linha de comando?

Qual foi o maior dano (de qualquer tipo) que você já causou com uma única linha de comando incorreta/incorreta/mal orientada? Excluí um banco de dados do sistema de produção por engano, por exemplo, mas tive sorte (ou seja, fiz backup) e não houve perda permanente de dados, dinheiro perdido, danos materiais etc.

Mais importante (para votos), o que você faz para garantir que isso não aconteça novamente?

35
Peter Hilton

No servidor SQL, em um sistema de produção:

update customer set password = '' <enter>

O backup mais recente tinha cerca de uma semana.

Para atenuar isso, agora eu geralmente escrevo uma instrução select primeiro para ter certeza de que tenho a cláusula where correta, depois volto e edito-a para inserir a cláusula set e altere a instrução para update.

46
Greg Hewgill

Maior erro? Pensar que havia definido duas variáveis, quando não o fiz. Portanto, rm -rf $ VARIABLE/$ VARIABLE2 tornou-se rm -rf /. O FreeBSD atualizou recentemente sua ferramenta rm para que rm -rf/não seja mais possível precisamente por causa deste erro!

37
X-Istence
shutdown -h now 

significava para a estação de trabalho local, mas digitou enquanto estava conectado via ssh no servidor de produção. Desde então, sempre tenho o nome do host em meu $PS1.

26
vartec

Omitindo o -r de um comando de desligamento. Em um servidor remoto. Do outro lado do país. Sem equipe de TI no escritório remoto.

Todos nós já fizemos isso, é quase como um rito de passagem nesta fase.

26
Maximus Minimus

Em um sistema VMS, eu estava usando o comando ASSIGN DCL para atribuir nomes lógicos e queria RECALL uma linha de comando ASSIGN anterior. Agora, no VMS, você digitou apenas alguns caracteres de um comando para torná-lo inequívoco. Então eu pretendia digitar

REC ASS

mas eu acidentalmente digitei

REQ ASS

em vez de. REQ foi suficientemente inequívoco para o comando REQUEST, que transmite o argumento para todos com privilégios de operador (que eram todos em TI). Então, todo o departamento recebeu minha mensagem de transmissão que era simplesmente "ASS".

25
Kevin

Em um sistema Solaris: "killall dataLoader".

'dataLoader' era um aplicativo em que eu estava trabalhando. No Linux, killall funciona como pkill. Ele envia um sinal para processos que correspondem a uma string fornecida como argumento. No Solaris, killall tenta matar tudo no sistema que o usuário atual pode matar. Eu estava enraizado.

24
kbyrd

Tentar mudar a propriedade de tudo em um diretório, incluindo arquivos de ponto, com:

chown -R user * .*

Adivinha o que isso faz?

16
chaos

Certa vez, muitas luas atrás, eu precisava encontrar um determinado executável, mas não conseguia lembrar o nome completo dele (mas conseguia lembrar algumas das letras). Então, resolvi verificar o diretório/usr/bin com algo assim

rm /usr/bin/i*g*

Estranho. Nada retornou. Imaginando que tinha esquecido da segunda letra, tentei novamente com

rm /usr/bin/i*

De novo, nada. Depois de fazer o mesmo com/usr/local/bin,/usr/sbin e qualquer outra coisa que imaginei que pudesse estar, percebi que estava digitando incorretamente o comando 'ls'.

Não sei bem de onde veio o brainfart, mas definitivamente não é um erro que cometi novamente.

16
goldPseudo
setup.exe

Era o Windows Vista.

16
Even Mien

Destinado a destruir/dev/sdb, felizmente eu tinha um bom backup atualizado

dd if=/dev/urandom of=/dev/sda
15
Zoredache
select * from <File1> join <file2>

Em uma caixa de produção. Observe a falta de uma cláusula on. :-) Ambas as tabelas eram tabelas de vários milhões de linhas, e isso era em um AS/400 em meados dos anos 90, onde uma vez que o SQL estava rodando você não podia matá-lo.

14
WaldenL

Em um de nossos servidores de produção de dados, uma de minhas raízes digitou:

chmod -R 777 /

Porque ele estava recebendo erros de permissão com alguns scripts ...

Pouco depois disso, sua chave privada foi removida de todos os servidores e ele cuidou da restauração de dados de 1 TB no servidor de produção de dados ...

14
Oct

Muitos anos atrás, eu estava em casa codificando algumas coisas em php enquanto trabalhava em um projeto com um amigo meu que era o mantenedor do projeto. Estávamos trocando mensagens de texto em um esforço de colaboração. Nós sempre brincamos para frente e para trás no jogo.

Eu estava tentando fazer o ssh-agent funcionar corretamente na minha máquina enquanto estávamos tendo uma guerra religiosa de Perl contra PHP. Então eu mencionei algo sobre o ssh-agent que precisa ser avaliado (não sei por que disse isso). Então ele me enviou esta mensagem em um esforço, então eu pensei, para me ajudar com meu problema (tenha em mente que fui su -'ed root):

\# eval $(echo ssh-agent | 
Perl -pe 's/h-a/m -r/' | 
Perl -pe 's/^ss/r/' | 
Perl -pe 's/gent/f \//')

AVISO! NÃO EXECUTE ESSE COMANDO !!!

SE você remover o eval e executar o comando interno sozinho, será:

rm -rf /

Levei 4 segundos para perceber o que estava acontecendo, mas o estrago já estava feito. Tive que reinstalar meu sistema operacional. Felizmente, nada do meu trabalho foi eliminado, exceto algumas coisas em/etc iirc. Ele deu uma risada ENORME quando lhe enviei uma mensagem de horror perguntando por que ele fez isso. Somos ambos engenheiros de sistemas de longa data. Ele não achou que eu iria executá-lo e seria mais cuidadoso em checá-lo antes de simplesmente c & p'ing e eu apenas confiei nele, então nem considerei que ele estava brincando. Desnecessário dizer que essa pequena história surge o tempo todo entre nós. Então, decidi imortalizá-lo.

Como eu evitei que isso acontecesse novamente? Eu não confio em ninguém!

Outra história menos interessante é que, alguns anos atrás, eu estava trabalhando em uma caixa de missão crítica. Eu tinha alguns termos abertos para uma máquina diferente. Eu precisava remover algumas coisas supérfluas em um diretório. Bem, eu me perdi em meus termos e acidentalmente rm'ed . no meu diretório local, mas no Host errado (termo errado) !!. Eu executei o comando em/var/lib/mysql em vez de/tmp no servidor de aplicativos (termo diferente). Desnecessário dizer que apaguei o banco de dados de produção. Felizmente, tínhamos uma espera acolhedora que mudamos enquanto eu e um colega reconstruímos o primário a partir dos backups e da espera. Isso levou cerca de 18 horas para fazer.

Mitigação: mais cuidado com as janelas em que executo os comandos antes de executá-los.

12
Cloaked1

Meu favorito era quando eu estava na universidade. Eu estava construindo um aplicativo (não me lembro qual) e como não era root, eu o construí com

PREFIX=~username/usr/local

Então, eu poderia instalá-lo em meu diretório inicial. Infelizmente, ele foi instalado em

/home/username/src/app/~username/usr/local

em vez de. Naturalmente, para excluí-lo como iniciar novamente eu executei

rm -rf ~username

No diretório de origem.

Eu me perguntei por que estava demorando tanto ...

:-)

No entanto, o meu pior foi quando eu estava trabalhando com uma estação de trabalho solaris e depois de configurar tudo, queríamos limpar a configuração para a configuração ao vivo. Então eu executei

sys-unconfig

Concordou com a mensagem de aviso e em vez de reinicializar a máquina e voltar aos "padrões de fábrica" ​​A janela do xterm simplesmente disse

connection closed by foreign Host.

Moral da história nunca deixe um shell de root aberto em outro host! NUNCA !!

12
Vagnerr

Uma vez, quis excluir um monte de arquivos em um diretório.

del *.*

O computador então disse "Tem certeza? [S/N]" Eu pensei "CLARO, tenho certeza, eu não teria digitado o maldito comando de outra forma! Sheesh stupid computers resmungue ... "

Y <enter>

C:\Windows>_

Hum ... WTF? Acabei de apagar meu diretório do Windows? ....

undelete *.*

Naqueles dias de pequenos discos rígidos, eu sabia para que servia cada arquivo em c:\windows e qual era o seu nome, mas mesmo depois de recuperar tudo, o sistema nunca mais foi o mesmo. Ganhei um pouco de respeito pelo prompt "você tem certeza". Só um pouco.

11
Mr. Shiny and New 安宇

a versão curta

#/bin/bash
$0&
$0
11
BCS

Primeiro de dois ...

Em uma caixa Solaris, tínhamos um backup tar de uma máquina AIX.

Um dos desenvolvedores digitou:

tax xvf AIX_Backup.tar

Claro que os caminhos na taxação eram absolutos e acabamos fazendo uma nova distro de unix ... Solarix ... O único problema com a distro é que ela não inicializou :(

11
Brian G

Acho que a coisa mais estúpida que já fiz foi remover a rota padrão do cluster externo de firewall - enquanto vpn'ed para meu desktop a mais de cem milhas de distância.

Felizmente foi em um período designado como tempo de inatividade planejado (apenas no caso), mas isso não me poupou a viagem de 200 milhas para reconfigurar o firewall no local. Também não ajudou o fato de que isso tirou nossos sistemas de produção expostos à Internet durante minha viagem e subsequente correção.

Todos nós sabemos a definição de um nanossegundo. Um ohno-segundo é ainda menor e é o tempo entre apertar 'enter' e perceber seu erro.

11
Iain

História contada para mim:

Outro branch chamou porque seu PBX local tinha alguns problemas. Após alguma investigação, descobrimos que eles atualizaram o servidor, mas não a configuração do Asterisk. Então, o administrador decidiu instruir o funcionário do branch para refazer a configuração.

Admin: "Ok, agora, digite rm -rf/etc/asterisk"

Cara: "Ok."

Admin: "Agora, digite cp /var/..."

Guy: "Espere, ainda está em execução ..."

Admin: ??? ... !!!

10
Juliano
rm -rf / some/path 

ao invés de

rm -rf /some/path 

Felizmente não aconteceu comigo ;-)

9
vartec
source ~/.bash_history

Minha intenção era source .bashrc, mas fui muito apressado em preencher a tab ...

9
Dave Pretty

Algo mais ou menos assim:

Sudo dd if=/dev/zero of=/dev/sda

Eu quis dizer sda4. Limpei todo o disco, não apenas a partição :-(

8
Zifre

teve problemas com a rede (em uma máquina remota) e só queria reiniciar a interface

ifconfig eth0 down && ifconfig eth0 upp

Hoje em dia, certifico-me de que alguém está perto da máquina antes de tentar coisas como essa (iptables também é um bom candidato). E quando ninguém estava lá, uma vez digitei

sleep 600; reboot

em outro terminal (tela), de modo que ele seria reiniciado se eu não conseguisse ctrl + c o comando em 10 minutos.

Eu aprendi com esse erro também (ctrl + c o sono executará a reinicialização) e agora eu uso

sleep 600 && reboot

o que me permitirá ctrl + c.

8
mihi
ifconfig eth0 down

Ops, estou do lado externo do eth0. O servidor web está do outro lado do mundo, em uma sala trancada. Sem acesso à rede para fazer login ou reinicializar. Porcaria.

8
SpliFF

XCOPY é uma besta poderosa - implacável em sua execução e retardada pelo fato de que seus argumentos de linha de comando vão ao contrário do COPY do Windows e do cp do UNIX.

Alguns dias atrás eu acidentalmente escrevi:

xcopy src \path\to\a\new\nonexistent\directory

XCOPY teve a gentileza de sobrescrever meu diretório src com ... nada! E também não se preocupou em colocar os arquivos antigos na lixeira.

Ah, e acontece que XCOPY na verdade sobrescreve os mesmos setores no disco em vez de alocar novos. Tentei 3 programas de recuperação de disco, e o melhor só conseguiu recuperar 3 dos 10 arquivos perdidos. Claro que esses 3 arquivos eram apenas vshost.exe e seus amigos. Inchar!

8
Frank Krueger

Ao limpar minha pasta de início em um servidor da Web de produção, esqueci que tinha vinculado simbolicamente a raiz da Web do servidor a um local em minha pasta de início. Sem pensar, executei um rm -rf nessa pasta e a próxima coisa que sei é que as pessoas estão ligando que o site está fora do ar!

OOPS!

6
nabrond

Um cookie gratuito para qualquer um que puder me dizer por que fui um idiota por tentar remover todos os arquivos e diretórios ocultos da seguinte maneira:

rm -rf. *

6
Matt Simmons

Certa vez, estava comparando dados em duas pastas e executei rsync com a opção -d (excluir arquivos no destino que não estão na origem). E então mudei a origem e o destino quando executei o rsync. Isso excluiu todos os novos arquivos que eu queria fazer backup. Agora aprendi a executar o rsync com -n (simulação).

rsync -trvd --stats --progress /destination /source

Eu não tinha backup.

5
dpzeh

Devido a alguma experiência ruim com a instabilidade geral do JBoss após a reinicialização, gosto de limpar os arquivos de trabalho do JBoss antes de reiniciar. Eu normalmente faria:

# cd /var/cache/jboss
# rm -rf tmp/* work/*

A fim de me proteger de digitar qualquer um dos muitos erros desastrosos possíveis, como:

  • / tmp/*
  • tmp/*
  • você entendeu a ideia

Eu faço o último comando:

# Sudo -u jboss rm -rf tmp/* work/*

Uma vez que o usuário do JBoss achará difícil remover qualquer arquivo crítico que não pertença a ele.

Na verdade, nunca cometi esse erro, mas estou seguro caso o faça.

4
Francisco Canedo

Era uma vez (provavelmente System III, mas foi há muito tempo), era possível criar um arquivo chamado * usando as citações corretas do Shell. Quando encontrei um em meu diretório inicial, digitei rm * e tive meu dedo na tecla de retorno quando algo me fez hesitar e pensar sobre isso ...

Criar tal arquivo para outros usuários era uma brincadeira comum.

Se o arquivo estiver em um diretório, será difícil mitigar. O reflexo de apenas digitar seu nome exatamente como ls acabou de exibir é muito forte.

A outra brincadeira (menos prejudicial) era nomear arquivos com espaço em branco à direita (ou apenas espaço em branco) que eram muito mais difíceis de remover ...

4
RBerteig

Trabalhar por horas e horas editando o arquivo de configuração para configurar um aplicativo, apenas para confundir o arquivo de configuração com um arquivo temporário e excluí-lo. Droga de autopreenchimento (e minha própria desatenção!)

2
Shalom Craimer

% dd if = linux_boot_floppy.img of =/dev/hda

ao invés de:

% dd if = linux_boot_floppy.img of =/dev/fda

/ dev/hda == disco rígido

/ dev/fda == unidade de disquete

O primeiro pensamento foi: "Nossa, isso foi rápido". O segundo pensamento foi, "Oh merda".

2
David Poole

Eu executei cleanlinks no meu diretório $ HOME. Aparentemente, alguns links devem permanecer sujos e alguns diretórios vazios são importantes (digamos, aqueles nas pastas da caixa de correio). Feh.

2
Telemachus
Thinking: "Before i do this upgrade, I'd better be safe than sorry, and take a backup."
Writing: tar xzvf backup.tgz /path/to/production_site &
... time passes
... checking size of backup.tgz
Thinking: Why is this file not growing?
... thinking some more
... time freezes, realising that a week of development on the site is gone, overwritten by an old backup.
2
Kristian

Ao ensinar um novo administrador júnior a fazer algo, ele cometeu um erro de digitação e não o detectamos antes de ele pressionar Enter. Então, em vez de:

kill -9 <somepid>

Nós fizemos:

kill -%9 <somepid>

Em uma máquina Solaris 7, isso aparentemente se traduz em "parada". (Eu posso não estar me lembrando do erro de digitação exato, mas um% estava envolvido).

A máquina estava a três horas de distância de carro no local de um cliente. Tivemos que ligar para eles e implorar que ligassem a máquina novamente.

2
Kyle Hodgson

Eu costumava ser um administrador de laboratório linux e um dos alunos estava tentando fazer com que a instalação do Joomla funcionasse. Ela precisava adicionar permissões de execução a um dos arquivos. Não sabendo muito, ela iria fazer:

chmod -R 777 /path/to/joomla/

Exceto o que ela fez foi:

chmod -R 777 /path/to/joomla /

Acontece que seu sistema de arquivos completo (/ etc/passwd,/etc/shadow ...) era 777.

Quando você não especifica todos os modos, presume que você deseja remover as permissões que os acompanham. Então, tudo estava agora no modo 0777 (ou seja, sem aderência, definir user/groupID). Há muitas coisas importantes definidas, como su.

2
Kevin M

O erro mais irritante que me lembro de ter cometido foi há alguns anos, quando o hardware era caro e frequentemente usávamos roteadores/firewalls de software em vez de hardware. Uma noite, fomos atingidos por um DDoS bastante grave. Tentando depurar isso/descobrir o que eu poderia fazer, entrei no roteador principal e comecei a fazer tcpdumps, no entanto, o sistema estava tão insanamente não respondendo que achei melhor simplesmente abandonar as regras de firewall para que eu possa obter algum cputime extremamente necessário . Então eu digitei;

ipchains -F

O problema é que a política padrão de todas as cadeias foi descartada. Tive que ligar para meu chefe no meio da noite, pegar um táxi e buscar um cartão-chave, em seguida, ir para o local e reiniciar o roteador manualmente.

2
Rune Nilssen

Na era das trevas do DOS, havia um utilitário chamado, pelo que me lembro, killtree, que excluía uma árvore de diretórios sem qualquer confirmação.

Eu então tive um teclado que tinha o \ debaixo de Return.

No Norton Commander, eu queria excluir uma árvore de diretórios em c:\Tirei a seleção, então digito:

killtree Right CtrlReturn

CtrlReturn combinação foi usada para inserir o nome do arquivo/diretório sob a seleção na linha de comando.

O problema é, em vez de Right Ctrl, meu dedo foi para o \...

2
macbirdie

Em um prompt do DOS, digitei o seguinte comando no meu computador

C:\deltree/y *. *

Agora é só selecionar com o mouse o que quero deletar e deletar.

2
setatakahashi

Certa vez, copiei/colei algum script de "magia bash" que não entendi de um comentário do slashdot, que não tinha nenhum aviso e nenhum comentário além daquele liner. Isso é simplesmente estúpido, eu sei.

Descobriu-se que as linhas malignas geravam processos bash em um loop que deixava o servidor completamente sem resposta. Felizmente, ele era baseado no XEN e fui capaz de reinicializá-lo usando o xm reboot (chamar o data center para reinicializar manualmente é sempre complicado). Por outro lado, não tive acesso ao dom0 instantaneamente.

Lição aprendida - não copie/cole coisas que você não conhece :)

2
Karolis T.

Ao remover um trecho de configuração que eu tinha acabado de adicionar em um roteador core mpls, estava digitando

no

em seguida, colando na linha para remover. Infelizmente, eu tinha a linha errada no meu buffer de colagem. Eu pensei que tinha

vll id X

Eu estava errado e ainda tinha o comando anterior no buffer. A última coisa que vi daquele roteador antes de parar de responder foi

router(config)#no router mpls

Felizmente não tínhamos gerenciamento de banda, então fui capaz de voltar e restaurar todas as configurações do mpls do backup.

Quanto a garantir que isso nunca aconteça novamente. Primeiro, argumentei com a alta gerência que deveríamos ter implantação automática de serviço, como fizemos para a rede do switch, e certifiquei-me de que os "roteadores mpls" nunca mais chegassem perto do meu buffer de colagem novamente. Eu sempre digitei essa linha à mão.

2
Haakon

como root:

find / -type d -exec chmod 755 {} \;
find / -type f -exec chmod 644 {} \;

Acabei reconstruindo a caixa.

... história real.

1
tomdeb

shutdown -h now on production database system Eu estava conectado via túnel ssh remoto. Suspeitei que algo estava errado quando, em vez de desligar minha própria caixa, recebi a mensagem "connection closed by remote Host ";)

1
ipozgaj

e agora para um Win XP linha de comando completa bagunça:

C:\Somedir> cacls.exe */r Someuser

fez algo muito pior do que o esperado

1
Johan Buret

Eu queria remover todos os "~" arquivos de backup (passwd ~, group ~, resolv.conf ~) e em um teclado sueco você precisa pressionar o ~ botão e um space escrever um "~" e o que fiz foi:

$ rm  * ~

Em/etc

1
rkthkr

Ubuntu 10.10, eu tinha apenas 3 gb restantes na minha partição para limpar os arquivos.

Pensei, ah, bem, seria melhor remover kernels antigos (a tela do GRUB também estava ficando grande).

Sudo apt-get remove --purge 2.6.28*

O asterisco era um pouco ... ganancioso (embora eu ainda não saiba como ele conseguiu corresponder a 2.6.29 e .30).

Freakout épico, não se atreveu a ctrl + c (o que é pior do que os kernels desinstalados? Isso mesmo, kernels semi-desinstalados). Deixe-o rodar e reinstale o kernel mais recente. Eu até abri um documento editado no gedit para bloquear qualquer reinicialização (eu sei, eu sei ...).

1
orlp

Fácil fácil ... pressionando ENTER quando minha tela for rolada para cima para retornar à linha de comando. Executei o comando errado algumas vezes ao fazer isso. Eu adquiri o hábito de pressionar CTRL-C em vez disso.

1
McJeff

Tínhamos um script de FTP que atualizava os diretórios que hospedavam os relatórios de nossos clientes. O script ficou assim ...

ftp www.ourcompany.com
cd <ClientsDirectory>/
put *.html ( including index.html ) 

Então, o que acontece quando <ClientsDirectory> não existe?

Você obtém a página de índice do cliente como a página inicial da sua empresa ... Opps

1
Brian G

Eu conheço alguém que escreveu uma ferramenta personalizada para excluir uma árvore recursivamente e testou em uma unidade de rede que não retornou ".." como uma das entradas de "localizar o próximo arquivo".

Na primeira vez, ele foi executado em uma unidade que retornou "..", fez backup na raiz e apagou o volume.

1
piCookie

Eu estava em/em vez de outro diretório e executei o comando abaixo.

rm -Rf *

No momento em que cancelei o comando, quase todo o diretório/usr/havia sido removido.

0
Dereck Martin

Eu estava fazendo uma análise de log para um servidor de e-mail usando grep, então digitei:

grep -r event_string /var/log > output

Infelizmente, eu estava em /var/log quando eu o digitei, então toda vez que ele combinava com a string, ele escrevia a string em um arquivo que estava no diretório que estava verificando ... Quando ele chegou a esse arquivo, o arquivo se tornou uma besta devoradora de espaço que não podia ser alimentado. Encheu toda a máquina e, por ser um servidor de e-mail, causou um problema bastante urgente.

0
Satanicpuppy

Em um controlador de domínio do Windows NT 4 naquela época:

C:\WINNT\System32>DEL *.*

Eu estava trabalhando em uma subpasta (WINS, eu acho) e esperava excluir essa pasta, mas limpei a maior parte do System32.

Como posso ter certeza de que isso nunca acontecerá novamente? Eu faço as coisas um pouco mais devagar hoje em dia .. verifique a linha de comando antes de pressionar Enter.

0
Aaron Parker
net send /domain "Hello World"

Oh sh! +, Este não é o domínio do laboratório .....

0
squillman

Vou começar com o aviso padrão: Foi há muitos anos, eu tinha acabado de começar, eu era um novato, honestamente!

Eu estava tentando depurar algo em um roteador Cisco (nem me lembro o que era), mas simplesmente não conseguia descobrir o que exatamente precisava. Se você já tentou o comando debug no IOS, você sabe o que quero dizer. Cada comando tem uma tonelada de subcomandos, argumentos, opções, etc.

Finalmente, tive uma ideia brilhante! Vou apenas "depurar tudo" e, em seguida, remover as coisas inúteis. (Eu posso ouvir os gemidos de outras pessoas que tentaram isso).

Resumindo: matou o roteador. Acontece que ele era o roteador principal do ISP para o qual trabalhava. 30.000 pessoas de repente não tinham acesso à Internet.

Sim, foi idiota. Sim, o ISP não deveria permitir que novatos corressem em roteadores centrais sem supervisão. Sim, deveríamos ter estado de espera ativa. Etc etc. :)

0
DictatorBob

Na época do DOS, eu tentava diferentes comandos para ver o que eles faziam. Eu sabia o suficiente para não mexer com o fdisk ou o formato, mas vi um comando de aparência legal chamado recover ..... apagou a máquina inteira .... me ensinou a nunca executar um comando a menos que você tenha alguma ideia do que ele faz.

0
StubbornMule

Um colega decidiu ser engraçado e fez:

net send  /DOMAIN *my_username* Hey How You Going!

Infelizmente, em vez de EU receber a mensagem, todo o andar recebe uma janela pop-up dizendo:

my_username Ei, como vai você

Felizmente, o messenger está bloqueado no roteador do andar, embora um gerente tenha saído correndo para me abusar por "desperdiçar recursos da empresa!"

0
marty
DROP TABLE [dbo].[WRONGTABLEHERE]

Então, a sensação imediata de terror assim que o executei.

0
Tom Alderman

Um amigo meu trabalha em um site de classificados em execução no Windows/IIS. O site tinha muitos arquivos de imagem armazenados nos discos do servidor web que não eram mais referenciados no banco de dados, então ele decidiu escrever um script de limpeza rápida. Ele escreveu um pequeno programa para gerar o script, mais ou menos assim:

List<string> imagesInFileSystem = Directory.GetFiles(imageDirectory);

foreach (string file in databaseImages) {
    if (!imagesInFileSystem.Contains(file)) {
        Console.Out.WriteLine("del " + file);
    }
}

E gera a seguinte saída:

del c:\images\image1.jpg
del c:\images\image2.jpg
...
etc

O que parecia muito bom. No entanto, quando ele executou o programa, a maioria das imagens do site foi excluída! Ele esqueceu uma coisa: o sistema de arquivos do servidor não diferencia maiúsculas de minúsculas, mas sua verificação no banco de dados não.

Os vendedores tiveram que passar os próximos dias ligando para as pessoas para fazer o upload dos arquivos novamente.

0
Luke Quinane

Após 12 horas de trabalho no fim de semana, querendo verificar o endereço IP do servidor hostXYZ e enquanto estava conectado a um nó de cluster HP-UX MC/ServiceGuard, digitei:

hostname hostXYZ

Fiquei imediatamente coberto de suor frio. :) Felizmente, consegui voltar ao antigo nome de host antes mesmo do ServiceGuard perceber o que aconteceu. :)

0
Miljan

Muitas pessoas mencionaram rm -rf. Gostaria de salientar que não é o comando mais complicado. Aquele com o qual você realmente precisa se preocupar é Sudo rm -rf. Depois de excluir todo o meu Python site-packages, agora me refiro a esse comando como a "opção nuclear".

0
Jason Baker

usando joeware ad tools, eu tinha um script que deveria alterar uma conta de usuário de 512 (ativo) para 514 (usuário desabilitado) no atributo useraccountcontrol.

o comando era:

 admod -b "userdn" useraccountcontrol::514

mas eu também estava tentando redirecionar a saída colocando um 2> nul no final, mas perdi o espaço e o 514 se tornou 5142, o que fez com que o AD mudasse as contas de usuário para contas de computador. Isso foi executado em um domínio de produção contra todos contas.

0
benPearce

Eu tinha meu diretório home montado em chroot no modo loop para fazer algum trabalho. O chroot estava ocupando muito espaço, então tive que removê-lo e simplesmente fiz

rm -rf /path/to/the/chroot

Foi um pouco mais longo do que eu pensava antes de perceber que estava removendo os documentos do meu homedir montado em loop completamente ...

0
ℝaphink

O acidente divertido mais recente foi um colega instalando uma nova zona Solaris 10. Na primeira vez, ele selecionou aleatoriamente o dispositivo de troca e a zona instalada e funcionou bem. Na segunda vez, ele escolheu o dispositivo que por acaso era a unidade raiz ...

A caixa não apareceu novamente. Ah, e era um sistema de produção.

0
Alex

Como root: rm ./* em uma máquina Tru64. Sim, em "/". Sim, em uma máquina de produção.

Eu não fiz isso - algum outro idiota fez.

A (longa) história de recuperação está aqui: h t t p:// slashdot.org/~Noryungi/journal/212909

O que eu fiz? Nada. Outro idiota ainda maior (CTO) insistiu que todos os seus programadores precisavam ter acesso à senha de root. (suspiro)

Como um usuário normal: rm -fv ./* em meu/home em uma máquina Linux. Pressionou Ctrl + C rápido o suficiente para evitar grandes danos. Agradeci a Cthulhu pelos backups nos dias seguintes.

0
ANonymous

Coisas boas aqui. Eu fiz MUITOS deles. Para evitar a ausência da cláusula WHERE no SQL, agora uso: alias mysql = 'mysql --i-am-a-dummy'

Um interessante foi ao atualizar um servidor remoto: mv/home/home_old && mv/home_new/home mv/var/var_old && mv/var_new/var mv/lib/lib_old && mv/lib_new/lib

Parece que o Linux para de rodar (ou inicializar) quando/usr/lib desaparece. Os servidores remotos agora têm uma placa IMPI ou um console serial lnk para outro servidor, além de um CD de inicialização na unidade.

0
Ray
rm -vfr /*

O que eu faço agora: rm -vfr ./*

0
Jordan S. Jones

cd /

rm -rf ./

0
Cawflands

Necessário para extrair um arquivo de um arquivo tar. Sem problemas:

tar cvf filename.tar somefile

Acabei de reinstalar o SunOS4, restaurei os arquivos locais do backup e estava limpando, removendo os arquivos restaurados de seu local temporário quando digitei rm -rf/usr e me perguntei por que estava demorando tanto ... Tive que fazer tudo de novo .

0
pgs

Ao tentar limpar minha pasta de início de arquivos temporários/backup:

Rode isto:

rm -rf *~

# OOPS! DON'T RUN THESE:
rm -rf *  # OOPS! Deleted all files in $PWD
rm -rf ~  # OOPS! Deleted all files in $HOME
rm -rf ~* # OOPS! Deleted all users' home folders!!!
0
JeffG

Eu fiz um rm -rf * .o mas o melhor que vi é:

userdel -r root

No entanto, foi feito por um novato e ele estava aprendendo.

0
adamo

Hoje eu tinha um arquivo estranho que não consegui deletar, então entrei no terminal. O arquivo estava começando com um "?", Então eu fiz:

rm? *

Que apagou todos os arquivos, exceto pastas. Então lembrei que "?" Significa qualquer caractere único, então foi como eu:

rm *

0
brunoqc

Com a intenção de limpar o diretório de compilação, removi todo o código-fonte de um projeto com:

rm * .o

Desde então, a primeira coisa em meus projetos é um destino clean no Makefile

0
goedson

rm -f /bin

instead of

rm -f ./bin

como root (é claro) em um sistema FreeBSD antigo. Felizmente, todos os comandos em/usr/local/bin e/usr/bin foram suficientes para copiar os binários do CD de instalação/bin e remover a seleção do sistema.

0
hurfdurf

Removi todo o meu diretório inicial ao tentar limpar um disquete com o comando:

rm -rf * /mnt/floppy
0
goedson

Fácil de entender - e já fiz isso mais de uma vez:

Del de Some_Table

sem qualquer qualificação. Sempre faça uma 'seleção de' primeiro agora para ter certeza de que tenho os dados corretos.

0
Marko Carter