Swisslinux.org

− The GNU/Linux crossroads in Switzerland −

 

Language

 

The Forum

You are not logged in.

#1 11 Nov 2004 08:47:46

Muad'dib
Gourou(e) du libre
 
From: Sion
Registered: 11 Oct 2004
Posts: 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"
--------------------------------------

Offline

 

#2 05 Dec 2004 00:15:17

priape2
Affranchi(e)
 
From: Genève
Registered: 05 Dec 2004
Posts: 7
Website

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

Offline

 

#3 05 Dec 2004 09:13:44

Minuteman
Prêcheu(r|se) du libre
 
Registered: 05 Nov 2004
Posts: 193

Re: Logger des évenements

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

Offline

 

#4 05 Dec 2004 11:38:59

priape2
Affranchi(e)
 
From: Genève
Registered: 05 Dec 2004
Posts: 7
Website

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

Offline

 

#5 05 Dec 2004 12:46:32

Muad'dib
Gourou(e) du libre
 
From: Sion
Registered: 11 Oct 2004
Posts: 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"
--------------------------------------

Offline

 

#6 05 Dec 2004 13:30:16

WaVeR
Gourou(e) du libre
From: Biel-Bienne
Registered: 08 Oct 2004
Posts: 531
Website

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

Offline

 

#7 05 Dec 2004 13:42:32

Muad'dib
Gourou(e) du libre
 
From: Sion
Registered: 11 Oct 2004
Posts: 340

Re: Logger des évenements

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

Absolument.


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

Offline

 

#8 24 Mar 2005 09:46:29

samyboy
Humain(e) libre
 
From: Lausanne
Registered: 18 Mar 2005
Posts: 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.

Offline

 

Board footer

Powered by FluxBB