web-dev-qa-db-fr.com

La plus grande erreur de ligne de commande?

Quel est le plus de dégâts (de quelque nature que ce soit) que vous ayez jamais causé à une seule ligne de commande erronée/erronée/erronée? J'ai supprimé une base de données de système de production par erreur de retour, par exemple, mais j'ai eu de la chance (c'est-à-dire sauvegardé) et il n'y avait pas de perte de données permanente, d'argent perdu, de dommages matériels, etc.

Plus important encore (pour les votes), que faites-vous pour vous assurer que cela ne se reproduira jamais?

35
Peter Hilton

Dans SQL Server, sur un système de production:

update customer set password = '' <enter>

La sauvegarde la plus récente était comme une semaine.

Pour atténuer cela, j'écris habituellement une instruction select d'abord pour vous assurer que j'ai la clause where CORRECT, puis revenez et modifiez-la pour insérer la clause set et changer la déclaration à update.

46
Greg Hewgill

La plus grosse erreur? Pensant que j'avais défini deux variables quand je n'avais pas. Donc, RM -RF $ variable/$ variable2 est devenu RM -RF /. FreeBSD a récemment mis à jour leur outil RM afin que RM -RF/ne soit plus possible précisément à cause de cette erreur!

37
X-Istence
shutdown -h now 

signifiait pour le poste de travail local, mais le saisit lors de la connexion via SSH sur Server Production. Depuis lors, j'ai toujours un nom d'hôte dans mon $PS1.

26
vartec
setup.exe

C'était Windows Vista.

16
Even Mien

Destiné à détruire/dev/sdb, heureusement, j'ai eu une bonne sauvegarde à jour

dd if=/dev/urandom of=/dev/sda
15
Zoredache

Il y a de nombreuses années, j'étais à la maison codant des trucs dans PHP tout en travaillant sur un projet avec un copain de mien qui était le maintien du projet. Nous nous sommes imitaires dans un effort de collaboration. Nous plaisanterons toujours en jeu.

J'essayais d'obtenir SSH-Agent de travailler correctement sur ma machine pendant que nous avions une guerre religieuse de PERL VS PHP. Ensuite, j'ai mentionné quelque chose à propos de SSH-Agent ayant besoin d'être évalué (pas sûr pourquoi je l'ai dit). Alors, il m'a envoyé ce message dans un effort, alors j'ai pensé, pour m'aider avec mon problème (gardez à l'esprit que j'étais su-levé à racine):

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

AVERTISSEMENT! Ne pas exécuter cette commande !!!

Si vous supprimez l'EVAL et exécutez la commande intérieure par elle-même, il est:

rm -rf /

Il m'a fallu toutes les 4 secondes pour remarquer ce qui se passait mais les dégâts étaient déjà faits. J'ai dû réinstaller mon système d'exploitation. Heureusement, rien de mon travail n'a été essuyé, sauf certaines choses dans/etc IIRC. Il avait un énorme rire quand je lui ai envoyé un message d'horreur demandant pourquoi il l'a fait. Nous sommes à la fois des ingénieurs de systèmes à long terme. Il ne pensait pas que je le dirigerais et serait plus prudent de le vérifier avant simplement C & P'ing et je viens de faire confiance à lui donc je ne considérais même pas qu'il jouait. Inutile de dire que cette petite histoire arrive tout le temps entre nous. Donc, j'ai décidé de l'immortaliser.

Comment ai-je atténué cela de se produire à nouveau? Je ne fais confiance à personne!

Une autre histoire moins intéressante est quelques années de retour, je faisais du travail sur une boîte critique de mission au travail. J'ai eu quelques termes ouverts à une machine différente. Je devais retirer des trucs superflus dans un répertoire. Eh bien, je me suis perdu dans mes conditions et je suis accidentellement rm'ed . dans mon directeur local mais sur le mauvais hôte (mauvais terme) !!. J'ai exécuté la commande dans/var/lib/mysql au lieu de/TMP sur le serveur d'applications (terme différent). Inutile de dire que j'ai essuyé la base de données de production. Heureusement, nous avons eu une veille chaleureuse que nous nous sommes retournés pendant que moi et un collègue reconstruit le primaire des sauvegardes et la veille. Cela a pris environ 18 heures à faire.

Atténuation: plus attention à ce que Windows I exécute des commandes avant de les exécuter.

12
Cloaked1

Premier de deux ...

Sur une boîte Solaris, nous avons eu une sauvegarde de goudron d'une machine Aix ..

L'un des développeurs a tapé:

tax xvf AIX_Backup.tar

Bien sûr, les chemins de la taxe étaient absolus et nous avons fini par faire une nouvelle distribution de Unix ... Solarix ... Le seul problème avec la distribution est qu'il n'a pas démarré :(

11
Brian G
rm -rf / some/path 

à la place de

rm -rf /some/path 

Heureusement, cela ne m'est pas arrivé ;-)

9
vartec

Quelque chose sur les lignes de ceci:

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

Je voulais dire SDa4. J'ai essuyé le disque entier, pas seulement la partition :-(

8
Zifre

eu des problèmes avec le réseau (sur une machine distante) et voulait juste redémarrer l'interface

ifconfig eth0 down && ifconfig eth0 upp

De nos jours, je m'assure que quelqu'un est proche de la machine avant d'essayer des choses comme ceci (Iptables est un bon candidat aussi). Et quand personne n'était là, j'ai déjà tapé

sleep 600; reboot

dans un autre terminal (écran), de sorte qu'il redémarre si je ne pouvais pas ctrl + C la commande dans les 10 minutes.

J'ai également appris de cette erreur (Ctrl + C le sommeil dirigera le redémarrage) et maintenant j'utilise

sleep 600 && reboot

ce qui me permettra de CTRL + C IT.

8
mihi

XCOPY est une bête puissante - Impiloless dans son exécution et retardé par le fait que sa ligne de commande argument va inverse de la fenêtre COPY et UNIX cp.

Il y a quelques jours, j'ai accidentellement écrit:

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

XCOPY était assez gentille pour écraser mon src répertoire avec ... rien! Et il n'a pas été tenu de mettre les anciens fichiers dans la corbeille de recyclage non plus.

Oh, et il s'avère que XCOPY écrase réellement les mêmes secteurs sur le disque au lieu d'attribuer de nouveaux. J'ai essayé 3 programmes de récupération de disque et le meilleur pourrait seulement récupérer 3 des 10 fichiers perdus. Bien sûr, ces 3 fichiers étaient seulement vshost.exe et ses copains. Gonfler!

8
Frank Krueger

Tout en nettoyant mon dossier à domicile sur un serveur Web de production, j'ai oublié que j'avais un lien sympathique la racine Web du serveur à un endroit dans mon dossier à domicile. Ne pensant pas, j'ai dirigé une RM -RF sur ce dossier et la prochaine chose que je sais, les gens appellent que le site Web est en panne!

OUPS!

6
nabrond

Un cookie gratuit à quiconque peut me dire pourquoi j'étais un idiot pour avoir essayé de supprimer tous les fichiers et répertoires cachés.

rm -rf. *

6
Matt Simmons

En raison d'une mauvaise expérience avec le général JBoss Flakiness après un redémarrage, j'aime effacer les fichiers de travail de JBoss avant un redémarrage. Je ferais normalement:

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

Afin de me protéger de taper aucune des nombreuses erreurs désastreuses possibles, comme:

  • / TMP/*
  • tMP/*
  • vous avez eu l'idée

Je fais la dernière commande:

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

Étant donné que l'utilisateur JBoss aurait du mal à supprimer tous les fichiers critiques qui n'appartiennent pas.

Je n'ai jamais fait cette erreur, mais je suis en sécurité dans le cas que je fais.

4

J'ai couru cleanlinks dans mon annuaire de maison $. Apparemment, certains liens doivent rester sale et certains répertoires vides (disent celles de vos dossiers de boîte aux lettres). Feh.

2
Telemachus

Une erreur la plus agaçante que je me souviens que faire était de quelques années de retour lorsque le matériel est cher et que nous avons souvent utilisé des routeurs logiciels/pare-feu plutôt que des quincailleries. Une nuit, nous avons été touchées par des jolis DDO. Essayer de déboguer ce que je pouvais faire ce que je pouvais faire, je me suis connecté au routeur principal et j'ai commencé à faire des TCPdumps, mais le système n'était donc pas inoxydable que je fisais mieux que je fisais mieux, il suffit de laisser tomber les règles de pare-feu afin que je puisse espérer que cela soit bien utilisé . Donc j'ai tapé;

ipchains -F

Le problème est que la politique par défaut de toutes les chaînes a été supprimée. J'ai dû appeler mon patron au milieu de la nuit, prendre une cabine et récupérer une carte de porte-clés puis obtenir sur place et redémarrer manuellement le routeur.

2
Rune Nilssen

shutdown -h maintenant sur le système de base de données de production, j'ai été connecté via un tunnel SSH distant. J'ai soupçonné que quelque chose n'allait pas si au lieu de fermer ma propre boîte, j'ai eu le message "connection closed by remote Host ";)

1
ipozgaj

et maintenant pour une victoire XP Commandline Terminez la vis Terminez:

C:\SOMEDIR> CACLS.EXE */R PONUSEUR

fait quelque chose de beaucoup pire que prévu

1
Johan Buret

Easy Easy ... Frapper Entrée lorsque mon écran a été défilé afin de le renvoyer à la ligne de commande. J'ai couru la mauvaise commande à quelques reprises. J'ai eu l'habitude de frapper le CTRL-C à la place.

1
McJeff

Nous avons eu un script FTP qui mettront à jour les annuaires qui abritaient les rapports de nos clients. Le script ressemblait à ceci ...

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

Alors, que se passe-t-il lorsque <ClientsDirectory> n'existe pas?

Vous obtenez la page d'index du client comme page d'accueil de la société ... OPPS

1
Brian G

Je connais quelqu'un qui a écrit un outil personnalisé pour supprimer un arbre récursivement et testé sur un lecteur réseau qui n'a pas retourné "." Comme l'une des entrées "Trouver le fichier suivant".

La première fois qu'il a couru sur un lecteur qui a renvoyé ".." Sonté à la racine et essuyé nettoie le volume.

1
piCookie

J'étais dans/au lieu d'un autre répertoire et effectué la commande ci-dessous.

rm -Rf *

Au moment où j'ai annulé la commande, presque tout le répertoire/usr/usr avait été supprimé.

0
Dereck Martin

Je faisais une analyse de journal pour un serveur de messagerie en utilisant Grep, donc j'ai tapé:

grep -r event_string /var/log > output

Malheureusement, j'étais en /var/log Lorsque je l'ai tapé, alors chaque fois que cela correspond à la chaîne, il a écrit la chaîne à un fichier dans le répertoire qu'il vérifiait ... Lorsqu'il est arrivé à ce fichier, le fichier est devenu une bête de dévoration spatiale qui ne pouvait pas être nourri. Rempli la machine entière et, puisqu'il s'agissait d'un serveur de messagerie, a provoqué un problème assez pressant.

0
Satanicpuppy

Un collègue a décidé d'être drôle et a fait:

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

Malheureusement, au lieu de moi avoir le message, tout le sol obtient une fenêtre contextuelle disant:

my_username Hey comment vas-tu

Heureusement, des trucs messagers sont bloqués au routeur de sol, bien qu'un manager soit manqué pour m'abuser pour "gaspiller des ressources de l'entreprise!"

0
marty

utilisation de Joeware Ad Outils, j'ai eu un script censé modifier un compte d'utilisateur de 512 (actif) à 514 (utilisateur désactivé) dans l'attribut userAccountControl.

le commandement était:

 admod -b "userdn" useraccountcontrol::514

mais j'essayais également de rediriger la sortie en mettant une nul 2> Nul à la fin, mais j'ai raté l'espace et le 514 est devenu 5142 qui a causé une annonce à modifier les comptes d'utilisateurs sur des comptes informatiques, ceci a été exécuté sur un domaine de production contre tout comptes.

0
benPearce

Le plus récent Mishap amusant était un collègue qui a installé une nouvelle zone Solaris 10. La première fois qu'il a sélectionné au hasard, le périphérique de swap et la zone installée et couru assez heureusement. La deuxième fois, il a choisi l'appareil qui est arrivé à être le lecteur racine ...

La boîte ne s'est pas repartie. Oh, et c'était un système de production.

0
Alex

Comme root: rm ./* sur une machine Tru64. Oui, dans "/". Oui, sur une machine de production.

Je ne l'ai pas fait - une autre jerk a fait.

L'histoire de la récupération (longish) est ici: h t p:// slashdot.org/~noryungi/journal/212909

Qu'est-ce que j'ai fait? Rien. Un autre, encore plus grand idiot (CTO) a insisté tous ses programmeurs nécessaires pour avoir accès au mot de passe root. (-soupir)

En tant qu'utilisateur normal: rm -fv ./* dans mon/maison sur une machine Linux. Appuyé sur Ctrl + C assez rapidement pour prévenir d'énormes dommages. Remercié cthulhu pour des sauvegardes pendant des jours.

0
ANonymous

cd /

rm -rf ./

0
Cawflands

Lorsque vous essayez de nettoyer mon dossier de maison de fichiers TEMP/BACKUP:

Lance ça:

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

J'ai fait un rm -rf * .o Mais le meilleur que j'ai vu est:

userdel -r root

Cela a été fait par un novice cependant et il apprenait.

0
adamo

Aujourd'hui, j'ai eu un fichier étrange que je n'ai pas pu supprimer, alors je suis allé dans le terminal. Le fichier commençait par un "?" Alors j'ai fait:

rm? *

Qui a effacé tous les fichiers sauf les dossiers. Je me suis alors rappelé que "?" Tu veux dire n'importe quel personnage, donc c'était comme si j'avais fait:

rm *

0
brunoqc