Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 11 Nov 2004 08:47:46

Muad'dib
Gourou(e) du libre
 
Lieu: Sion
Date d'inscription: 11 Oct 2004
Messages: 340

Logger des évenements

Bonjour,

Il est souvent utile d'inscrire dans  un fichier log ce qui se passe dans un script. Heureusement une commande est là pour nous faciliter la tâche.

Par exemple si vous avez un script dans ce style :

#/bin/bash

echo "Backup de mes bases de donnée en cours..."
mysqlhotcopy --user=root --allowold --regexp=".*" /root/monbackup
echo "Backup terminé."
logger -t BACKUP "Les bases de données ont été sauvegardées correctement"

Un coup d'oeil dans /var/log/messages pour constater le résultat.


"heureux celui qui partage"
--------------------------------------

Hors ligne

 

#2 05 Dec 2004 00:15:17

priape2
Affranchi(e)
 
Lieu: Genève
Date d'inscription: 05 Dec 2004
Messages: 7
Site web

Re: Logger des évenements

Oui, et comme les fichiers de log ont la facheuse tendance à prendre très vite beaucoup de place voici de quoi les vider:

bash#find /tmp ! -type d -atime +2 -exec rm -f {} ;

Attention, les espaces sont très importants, s'il en manque on aura un message d'erreur (je suggère de faire un copier coller de ce qui se trouve après le #).

Bon, je donne un petit explicatif de la ligne de commande (je m'ennuie en peu ce soir):
-exec = exécute la commande suivante sur chaque fichier sélectionné
rm -f {} = supprime les fichiers, les deux accolades signifiant qu'il faudra traiter ainsi chaque fichier rencontré
; = ces caractères marquent la fin de l'option -exec
! = le point d'exclamation est une négation, il concerne le paramètre suivant que est lui même -type d, ce qui signifie "répertoire"


Alain Stancheris
Happy Linux user since 1998
https://www.stancheris.ch

Hors ligne

 

#3 05 Dec 2004 09:13:44

Minuteman
Prêcheu(r|se) du libre
 
Date d'inscription: 05 Nov 2004
Messages: 193

Re: Logger des évenements

Pour vider les fichiers logs tu peux aussi faire un simple pipe du genre
cat /dev/null > fichier.log

Hors ligne

 

#4 05 Dec 2004 11:38:59

priape2
Affranchi(e)
 
Lieu: Genève
Date d'inscription: 05 Dec 2004
Messages: 7
Site web

Re: Logger des évenements

En effet, le but était en fait de virer tous les fichiers log qui avaient plus de 2 jours (j'ai malencontreusement oublié de le dire).


Alain Stancheris
Happy Linux user since 1998
https://www.stancheris.ch

Hors ligne

 

#5 05 Dec 2004 12:46:32

Muad'dib
Gourou(e) du libre
 
Lieu: Sion
Date d'inscription: 11 Oct 2004
Messages: 340

Re: Logger des évenements

On peut aussi archiver les logs avant de les effacer. Etant donné que les logs ne contiennent que du texte le taux de compression est très élevé.

exemple :

Code:

 find /var/log ! -type d -size +10240k -name "*.log" -exec tar cfj archive.tar.bz2 {} ;
 find /root ! -type d -size +10240k -name "*.log" -exec rm -f {} ;

En claire :

Code:

cherche dans /var/log tout les fichiers qui ne sont pas des répertoires ET qui sont supérieur à 10M ET dont le suffixe est .log puis fait une archive que tu compresseras avec bzip2. 
ENSUITE fait la même recherche et efface les fichiers.

Question --> comment exécuter plusieurs commandes succesivement avec -exec ?
comment utiliser une redirection (>, >> ), dans -exec?


"heureux celui qui partage"
--------------------------------------

Hors ligne

 

#6 05 Dec 2004 13:30:16

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: Logger des évenements

au lieu de "! -type d" on peut faire directement "-type f" non ?

Pour exec il me semble qu'elle peut faire qu'une commande à la fois yikes par contre tu peux utilisé les "> >>" avec le tar et même utiliser "--exclude" et "--exclude-from" des fois c'est utile


There's no place like 127.0.0.1

Hors ligne

 

#7 05 Dec 2004 13:42:32

Muad'dib
Gourou(e) du libre
 
Lieu: Sion
Date d'inscription: 11 Oct 2004
Messages: 340

Re: Logger des évenements

au lieu de "! -type d" on peut faire directement "-type f" non ?

Absolument.


"heureux celui qui partage"
--------------------------------------

Hors ligne

 

#8 24 Mar 2005 09:46:29

samyboy
Humain(e) libre
 
Lieu: Lausanne
Date d'inscription: 18 Mar 2005
Messages: 42

Re: Logger des évenements

Bonjour,

Il m'arrive de vouloir savoir ce qu'il se passe sur ma machine durant une petite durée ( p. ex. une nuit).

Je lance dans le cron la commande suivante :

Code:

ps aux --sort -%cpu | head -n 11  > ps/`date +%Y-%m-%d-%Hh%Mm%Ss`

qui me donnera une liste des 10 plus gros pompeurs de CPU.

La sortie  sera inséré dans un fichier dont le nom sera la date à laquelle la commande a été effectuée(clair?).

J'utilise ce système lorsque je cherche des processus qui font monter mes graphs mrtg durant la nuit.

Hors ligne

 

Pied de page des forums

Powered by FluxBB