Le daemon qui gère la journalisation est syslogd. Le fichier de configuration par lequel il gérable :
vi /etc/syslog.conf
Le champ sélecteur est lui-même encore divisé en deux parties, une facility et une priorité, séparés par un point («.»).
Les différentes facility sont définies par les mots suivants:
auth authpriv cron daemon kern lpr mail mark news security (identique à auth) syslog user uucp local0 à local7
La priorité définit la sévérité du message. La priorité est l'un des mots-clés suivants :
debug info notice warning warn (identique à warning) err error (identique à err) crit alert emerg panic (identique à emerg)
Envoyer les logs :
@ # Envoyer les logs sur une machine distante * # Envoyer les logs à tous les utilisateurs connectés root # Envoyer les logs uniquement sur la console de root /var/log/syslog # Envoyer vers un fichier
kern.* /var/adm/kernel
kern.crit @finlandia
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info
La première règle dirige tous les messages de facility kernel vers le fichier /var/adm/kernel.
La seconde déclaration dirige tous les messages noyau de priorité crit et au-dessus vers l'hôte distant finlandia. Ceci est utile, car si l'hôte se crashe et que le disque subit des erreurs irréparables vous pourriez ne plus arriver à lire les messages stockés. S'ils sont aussi sur un hôte distant, vous pouvez encore essayer de trouver les raisons du crash.
La troisième règle dirige ces même messages vers la console courante, aussi l'utilisateur qui travaille sur la machine les recevra, aussi.
La quatrième ligne indique à syslogd de sauvegarder tous les messages noyau arrivant avec un priorité de info à warning dans le fichier /var/adm/kernel-info. Tout de err et au-dessus est exclu.
La rotation des logs est géré par logrotate. La gestion se fait par :
vi /etc/logrotate.conf
Dans ce fichier, il y a la conf par défault et il est possible de créer des conf spécifiques.
compress This is used to compress the rotated log file with gzip. nocompress This is used when you do not want to compress rotated log files. copytruncate This is used when processes are still writing information to open log files. This option copies the active log file to a backup and truncates the active log file. nocopytruncate This copies the log files to backup, but the open log file is not truncated. create mode owner group This rotates the log file and creates a new log file with the specified permissions, owner, and group. The default is to use the same mode, owner, and group as the original file. nocreate This prevents the creation of a new log file. delaycompress When used with the compress option, the rotated log file is not compressed until the next time it is cycled. nodelaycompress This overrides delaycompress. The log file is compressed when it is cycled. errors address This mails logrotate errors to an address. ifempty With this, the log file is rotated even if it is empty. This is the default for logrotate. notifempty This does not rotate the log file if it is empty. mail address This mails log files that are cycled to an address. When mail log files are cycled, they are effectively removed from the system. nomail When mail log files are cycled, a copy is not mailed. olddir directory With this, cycled log files are kept in the specified directory. This directory must be on the same filesystem as the current log files. noolddir Cycled log files are kept in the same directory as the current log files. prerotate/endscript These are statements that enclose commands to be executed prior to a log file being rotated. The prerotate and endscript keywords must appear on a line by themselves. postrotate/endscript These are statements that enclose commands to be executed after a log file has been rotated. The postrotate and endscript keywords must appear on a line by themselves. daily This is used to rotate log files daily. weekly This is used to rotate log files weekly. monthly This is used to rotate log files monthly. rotate count This specifies the number of times to rotate a file before it is deleted. A count of 0 (zero) means no copies are retained. A count of 5 means five copies are retained. tabootext [+] list This directs logrotate to not rotate files with the specified extension. The default list of extensions is .rpm-orig, .rpmsave, v, and ~. size size With this, the log file is rotated when the specified size is reached. Size may be specified in bytes (default), kilobytes (sizek), or megabytes (sizem).
/var/log/maillog {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root
sharedscripts
postrotate
if [ -f /var/run/postfix.pid ]; then
/etc/init.d/postfix reload > /dev/null
fi
endscript
}
daily : La rotation s’effectuera tous les jours. Nous pouvons aussi mettre weekly pour toutes les semaines , monthly pour tous les mois.
missingok : signifie que l’absence du/des fichier(s) log(s) n’est pas anormale. Si cette option n’est pas active alors l’administrateur recevra un mail si le/les log(s) est/sont manquant(s).
rotate 52: Nous garderons 52 fichiers. Soit pour mon cas, 52 jours de logs
compress : Les fichiers logs secondaire c’est à dire tout ce qui n’est pas le fichier de log principal ;) seront compréssés.
delaycompress : Reporte la compression du journal précédent au prochain cycle de permutation. Ceci n’a un effet qu’utilisé en combinaison avec l’option compress. Elle peut être utilisée quand il n’est pas possible de demander à un programme de fermer son journal et qu’il puisse par conséquent continuer à écrire pour un moment dans le journal précédent. notifempty: permet de ne pas permuter le journal lorsqu’il est vide create 640 root : Les fichiers secondaire créés auront pour créateur root et auront les droits 640
postrotate/endscript : Les lignes entre prerotate et endscript (chacun devant apparaître sur une ligne isolée) sont exécutées avant permutation du journal. Ces directives doivent apparaîtrent dans la définition d’un journal
sharedscripts : permet d’executer qu’ une fois le script postrotate par rotation