Journal rm -rf /var/log/*

Posté par  .
Étiquettes : aucune
0
18
mar.
2004
INTERDICTION DE RIRE !
Et interdiction de dire "Mais quel *** !"
----

Cher journal,


Vraiment je suis pas malin ! Pas malin du tout...

Je voulais faire de la place sur mon disque et je me suis dit "oh les logs, 140Mo, ça me sert pas" :

rm -rf /var/log/*

Et hop je suis tout content, 140Mo de libéré, sur une partition de 670Mo...

Et puis vint le moment où j'ai eu envie d'envoyer un email et où exim m'a répondu : "Unexpected log failure"... Oups me dis-je ! J'ai fait une bêtise !

Un pote m'a signalé, qu'il fallait faire echo "" > /var/log/*

Mais la fatalité s'était abattue sur mes épaules... c'était trop tard ! (coup de tonnerre fendant le ciel !).


Que faire donc maintenant, cher journal, pour me sauver de cette malencontreuse c****** ?!

Oui il faut régénérer les fichiers de log, même vides, mais comment faire... ?

Je suis sous Debian, et j'ai déjà tenté dpkg-reconfigure logrotate.


Merci d'avance à toi pour toutes les réponses que tu vas me donner !

----
PS : et le petit malin qui bafoue mes interdictions (parce que yen a toujours un dans le lot) se fera moinsser sans pitié aucune !
PPS : je laisse le journal en première page afin qu'il parte rapidement (je pense que la réponse doit être simple et donc je ne vois pas l'intérêt de le laisser des jours en deuxième page...)
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Essaye /etc/init.d/syslogd restart
    Ca va peut etre les regenerer
    • [^] # Re: rm -rf /var/log/*

      Posté par  . Évalué à 2.

      Merci pour ta réponse...

      En effet j'ai maintenant :
      ./auth.log
      ./syslog
      ./daemon.log
      ./kern.log
      ./lpr.log
      ./mail.log
      ./user.log
      ./uucp.log
      ./mail.info
      ./mail.warn
      ./mail.err
      ./debug
      ./messages


      Par contre Exim m'affiche toujours la même erreur :-/...
      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 1.

        aurait il besoin d'un /var/log/mail/xxx ?

        mkdir /var/log/mail ?

        La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 1.

        Eh ben /etc/init.d/exim restart alors?
      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 4.

        Hum ... facile :)
        A priori le fichier de log de exim est:

        /var/log/exim/mainlog et /var/log/exim/paniclog et aussi /var/log/exim/rejectlog

        Donc toi tu fait un petit:
        mkdir /var/log/exim
        touch /var/log/{mainlog,paniloc,rejectlog}

        Et ça devrais être bon (un petit /etc/init.d/exim restart ou autre pr relancer exim).
        Si jamais les fichiers de conf ne correspondent pas ( ce qui m'etonnerait ...), un petit strace sur exim (lancé avec les bons arguments) te permettra de voir dans quel fichier il va taper.
        Ne pas oublier les droits sur les fichiers de log ...
        Exemple chez moi:
        -rw-r----- 1 mail adm 13243 Mar 18 23:08 mainlog

        et pour /var/log/exim:
        drwxr-s--- 2 mail adm 1024 Mar 18 06:25 exim

        Bon, et ensuite, réfléchis deux secondes avant de faire des conneries grosses comme toi.
        • [^] # Re: rm -rf /var/log/*

          Posté par  . Évalué à 1.

          Et ne pas oublié de donner les fichiers et repertoire à l'utilisateur mail (ou debian-exim) et au groupe adm
        • [^] # Re: rm -rf /var/log/*

          Posté par  . Évalué à 1.

          Ouii ça a marché !

          Merci à toi Oh Grand Journal !

          Bon, et ensuite, réfléchis deux secondes avant de faire des conneries grosses comme toi.

          C'est en faisant des conneries qu'on apprend ! Nah !

          (Sincèrement je pensais que les programmes savaient gérer les logs tout seuls et que ça ne les vexeraient pas que je les retire !)
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Si ça peux te rassurer, y'a pire que toi. L'autre jour, je faisait plein de testes de formatage de ma clef USB qui déconnait / déconne, à coup de cfdisk /dev/sda et une fois, j'ai oublié le /dev/sda. Et bien j'ai formaté mon ordi. 30 Go partie en quelques secondes. J'ai étais d'ailleur étonné que Linux continué à fonctionner malgré tout. Si je me souviens bien, il a même quitter proprement (mais je suis pas sûr).
    • [^] # Re: rm -rf /var/log/*

      Posté par  (site web personnel, Mastodon) . Évalué à 1.

      ou encore confondre e2fsck et mke2fsck. Les quelques secondes de traitement ne te laissent pas le temps de réaliser ce que tu as fait (c'est du vécu)
    • [^] # Re: rm -rf /var/log/*

      Posté par  . Évalué à 1.

      J'au fais mieux:
      Je voulais copier une disquette. J'ai donc crée une image de la disquette dans un fichier, mais pour ecrire sur la nouvelle:

      Au lieu de:
      dd if=fichier-image of=/dev/fd0

      j'ai fait:
      dd if=fichier-image of=/dev/hda

      Resulat: Table des partiotions effacée. Mais Linux n'a pas planté.
      Mais j'ai eu peur, et au lieu de sauvegarder à toute vitesse mes données, j'ai rebooté.
      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 1.

        dans le genre connerie :
        j'ai un $HOME/tmp pour mettre des conneries en voulant le vider j'ai fait

        rm -rf ~/tmp/ *

        un espace de trop, 2 mois de boulot :( De l'importance d'avoir fait une sauvegarde 3 jours plus tôt :) Mais quand même 3 jours...
        • [^] # Re: rm -rf /var/log/*

          Posté par  . Évalué à 1.

          > cd src/myproject
          > rm *;o
          o: command not found
          > make dist
          make: *** No targets specified and no makefile found. Stop.

          Oooopss... :-(
          • [^] # Re: rm -rf /var/log/*

            Posté par  (site web personnel) . Évalué à 3.

            \rm -rf * depuis / en tant que root.
            C'était voulu, c'était un linux "de test" et je voulais voir ce que ça faisait de tout supprimer.
            J'avais oublié que j'avais monté la partition contenant mon linux "de travail" :-(
        • [^] # Re: rm -rf /var/log/*

          Posté par  . Évalué à 1.

          userdel -r nobody

          C'était sur un serveur d'hébergement web.
          Le temps de m'apercevoir du truc et de faire un control-c (3 secondes environ), y'avait déjà une trentaine de sous-répertoires dans /var/htdocs partis en fumée.

          Vive les backups !
        • [^] # Re: rm -rf /var/log/*

          Posté par  . Évalué à 1.

          Contre ce genre d'erreurs, faire des 'touch -- -i' dans les répértoires stratégiques (/, /etc,/root, ...) reste une précaution rigolote, crade, et efficace, bref je l'aime bien. Elle m'a servi une fois ou j'avais fait dans /etc un 'rm -f * ~' au lieu d'un 'rm -f *~' pour virer des fichiers de sauvegarde vim.
      • [^] # Re: rm -rf /var/log/*

        Posté par  (site web personnel) . Évalué à 1.

        J'ai fais exactement la même erreur : 1h30 du mat, avec une démo à terminer de préparer pour le lendemain matin. Dernière commande à taper, et au lieu de lancer un terminal classique, j'utilise le dernier terminal encore ouvert (en temps que root)....

        J'ai réinstaller dans l'urgence une autre distrib sur un autre disque, afin de pouvoir quand même faire ma démo le matin même. Mais surtout, j'ai récupérer tout le DD (12 partitions !!) graçe à GPart : http://www.stud.uni-hannover.de/user/76201/gpart/(...)

        Fabuleux ce soft !! J'ai récrée toutes les partitions avec fdisk en utilisant le mode "secteurs". Seul la première partition a été définitivement perdue, mais ce n'était pas grave, il n'y avait rien d'important dedans.

        De même, j'ai pu aussi récupérer un Linux installé en dual boot sur le portable d'un collègue, dont une savante combinaisons de fdisk DOS et de Windows XP avait massacré ta table de partition (pas très douté le propriétaire du portable)....
  • # Re: rm -rf /var/log/*

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Tu aurais pu gagner de l'espace disque en faisant le ménage de /proc.
    Je pense notamment à /proc/kcore qui a tendance à prendre beaucoup de place sur le disque.



    Aie, pas tapé ----> buiten
    • [^] # Re: rm -rf /var/log/*

      Posté par  (site web personnel) . Évalué à 1.

      Attend j'essaye ;-)))

      Pourquoi y 'a mon clavier qui blo


      Bon, sérieux, pour etreconstructf, maintenant qu'on sait ce qu'il ne faut pas faire, est-ce que quelqu'un a la commande magique pour nettoyer ses logs sans fouttre le bordel?
      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 2.

        logrotate se chargera de compressé les fichiers de logs à intervalles réguliers.
        Libre à toi ensuite de virer les {.bz2,.gz} dus au passage de logrotate.
        En résumé : man logrotate.
      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 1.

        Pour l'instant, manuellement je regarde les logs qui sont un peu trop gros et je tape echo "" > /var/log/log_trop_gros

        Ca peut s'automatiser, soit en le faisant à l'aveugle toutes les semaines/mois soit avec un script un peu plus élaboré qui regarde la taille des logs et fait le echo "" vers les logs qui ont dépassé la limite que tu as fixée.

        R.
        • [^] # Re: rm -rf /var/log/*

          Posté par  . Évalué à 1.

          Apparement tout le monde se fout de ses logs (jusqu'au jour ou vous remarquerez que le système a un comportement bizarre).
          LA solution ultime dans ce cas est de remplacer votre /etc/syslog.conf par la ligne suivante:

          *.* |/dev/null

          Et plus aucun fichier de log syslog dans le /var/log (pensez à relancer syslog et à effacer les fichiers).
          Par contre pr les autres daemons ne passant pas par syslog, je n'ai pas de solution miracle...
          Sinon, redfish, comme je le disais plus haut, ton truc ça existe déjà et ça s'appelle logrotate.
          Tu peut y spécifier un script éxecuter avant et après rotation.
          • [^] # Re: rm -rf /var/log/*

            Posté par  . Évalué à 1.

            solution pour les non syslog logs:
            un lien symbolique vers /dev/null ?
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Moi je rigole pas, j'avais fait la même il y a quelques mois. J'avais lu je ne sais où que 250 Mo c'était suffisant pour /var, donc du coup, je m'en étais contenté, sauf que au bout d'un moment, ben c'était plein... bref, je me suis dit /var ça doit n'être que des variables, donc je peux tout virer...

    Que neni !!!

    'fin bon, à l'époque, j'ai pas trop cherché, j'ai tout réinstallé :o(
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    hé hé hé... ça fait plaisir :) enfin je devrais dire : ça rassure. Moi aussi j'ai fait pareil il y a quelques temps. En fait j'ai pas trop cherché : j'ai créé des fichiers vides pour les différents truc auquels j'ai pensé et c'est passé.
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Comme le rm -rf * dans le mauvais repertoire j'ai perdu une bonne partie de mon home comme ca :(
    a+
    • [^] # Re: rm -rf /var/log/*

      Posté par  (site web personnel) . Évalué à 1.

      Ben moi c'est fait un truc un peu dans le genre :
      dans mon home je voulais enlever tout les core.* et j'ai tapé rm core. * -rf
      avec un petit espace entre core. et * et hop plus de home.
      D'ailleur je sai même pas pourquoi j'ai utilisé l'option -r enfin bon, ca va que j'avais une sauvegarde qui trainait.
      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 1.

        En utilisant un vrai shell (devinez lequel) il t'aurait demander si tu voulais vraiment faire la connerie que tu as ecrite :

        (1:42) (cmathieu@ragondin) > rm -rf prout/a * ~/.tmp
        zsh: sure you want to delete all the files in /home/cmathieu/.tmp [yn]?

        Enfin y'a toujours des gens pour utiliser bash.... :-)
        • [^] # Re: rm -rf /var/log/*

          Posté par  (site web personnel, Mastodon) . Évalué à 1.

          echo "alias rm='rm -i'" >> ~.bashrc

          C'est une question de configuration par défaut, pas de shell... mais y'a toujours des gens pour tenter un lancer de troll... :-)
          • [^] # Re: rm -rf /var/log/*

            Posté par  (site web personnel, Mastodon) . Évalué à 2.

            Pour rm, le -f va l'emporter sur le -i, donc ça serivrait à rien dans ce cas précis.

            La gelée de coings est une chose à ne pas avaler de travers.

          • [^] # Re: rm -rf /var/log/*

            Posté par  . Évalué à 1.

            Non ce n'est pas rm -i (si tu fais un -f ton -i il deguage) c'est zsh qui quand il voit une commande a la con genre rm suivie d'une * ou un truc du genre te demande si tu veux vraiment le faire. Lors de la question la main n'a toujours pas ete données a rm. Autrement il te laisse faire tes betises comme un grand.

            de plus le -i est loudingue (chaque fichier blablabla), tout ceux qui ont essayé une mdk avec le -i par defaut sont devenu fous :-)

            Y'a toujours des gens pour croire qu'on lance un troll quand on leur dit que leurs outils sont mauvais :-)
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Bon, ben logrotate alors ?
    Il gézippe proprement les logs tous les x jours, ne garde que les y dernieres archives, ...
    J'ai linux sur une machine depuis plein de temps, au moins beaucoup en tous cas*, et j'ai jamais pensé a regarder combien il restait dans /var....

    *1 an et demi. Juré, pas de reinstallation ni rien.
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Ah oui au fait moi j'ai gagne 3Go en faisant une chose simple : j'ai enleve tous les dossiers et archives des sources du noyau que j'avais dans /usr/src et qui ne me servaient pas...
    Je sais pas si je peux enlever les /lib/modules/noyau_dont_je_ne_me_sers_pas je pense que oui (je vois pas pourquoi ca poserais probleme mais bon vu le sujet de ce journal mieux vaut se mefier (ou vieux maux se femier(mais ca veut rien dire)))
    a+
    • [^] # Re: rm -rf /var/log/*

      Posté par  . Évalué à 1.

      Effectivement u peux effacer les modules des noyaux dont tu ne te sers plus ainsi que les noyaux (et System.map) dans /boot.
      Il n'y a aucun probleme. Tu est meme invité à le faire si comme moi, tu suis toutes les versions du noyau, sinon ca devient vite le bordel...
      • [^] # Re: rm -rf /var/log/*

        Posté par  (site web personnel) . Évalué à 2.

        Tu peux même supprimer /vmlinuz si tu ne comptes pas rebooter.

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 4.

    et oui...
    " Il y a deux catégories d'admins : ceux qui ont déjà fait une grosse connerie en tant que root... et ceux qui vont pas tardé à la faire."

    PS: je fais partie de la première catégorie...
    • [^] # Re: rm -rf /var/log/*

      Posté par  . Évalué à 1.

      tarder :}
    • [^] # Re: rm -rf /var/log/*

      Posté par  (site web personnel) . Évalué à 1.

      Héhé, pareil, mais c'était pas vraiment très gros.
      Je voulais rétablir les droits d'un gars apres lui avoir copié son $HOME
      Donc je fais un "chown -R legars: *" après être allé dans son $HOME. Et là je me dis : bah, chuis con, j'ai oublié les fichiers cachés. Qu'à cela ne tienne, "chown -R .*"
      Et là vlan, .* ça englobe .. aussi ! Donc tous les répertoires de tous les users lui ont soudainement appartenu..... Et je m'en suis rendu compte que le lendemain :-(((
      • [^] # Re: rm -rf /var/log/*

        Posté par  . Évalué à 2.

        Remarque qu'après il a plus besoin d'être root pour faire une connerie ;)
        • [^] # Re: rm -rf /var/log/*

          Posté par  (site web personnel) . Évalué à 1.

          Ben ouaip ! En plus si ton répertoire perso t'appartient pas, tu peux pas te logguer normalement ! D'où mécontentement des users.......

          Heureusement, un petit script avec une boucle for à la con et c'était corrigé :-)
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Ça fait plaisir de voir que je ne suis pas le seul cretin ici :-) moi aussi ça m'est arrivé... un petit rm -fR / des familles... heureusement j'ai eu le temps de faire un ^C suffisament rapidement pour n'avoir laisser effacé que le /bin et le /etc... ça m'a juste pris une journée de tout rafistoler... dire que je pensais être le pire abruti sur terre! on pourrait peut être monter l'association des "rmistes -fR" anonymes...

    Enfin tout ça pour dire que zsh peut demander confirmation et attendre 10 s en cas
    de rm /path/* grâce aux options RM_STAR_SILENT et RM_STAR_WAIT. Ça ne gère par encore le cas du "rm -fR /path" sans * mais ça peut déjà rendre service aux débiles légers :-)
    • [^] # Re: rm -rf /var/log/*

      Posté par  . Évalué à 1.

      Dans le meme genre, en installant des drivers proprio. Ce driver se decompressait dans /usr. Quand j'ai voulu virer ce qui avait été décompréssés, j'ai taper rm -rf /usr/*. J'ai fait ^C au bout de quelques secondes, il ne restait presque plus rien. Resultat, j'ai reinstaller (heureusement, a ce moment je tournais pas encore sous LFS).
  • # Re: rm -rf /var/log/*

    Posté par  . Évalué à 1.

    Attention aussi aux "make uninstall".
    J ai flingué /usr/sbin comme ca avec le driver eagleUSB il y a quelques semaines

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.