Outils pour utilisateurs

Outils du site


linux:adminsys:rtm

Ceci est une ancienne révision du document !


Personnalisation rtm

Lancement

Afin de récupérer la sortie de rtm dans un log, on modifie la ligne de lancement (dans /etc/crontab) par rapport à l'install par défaut.

*/1 * * * * root /usr/local/rtm/bin/rtm XX > /dev/null 2> /dev/null

XX est un nombre aléatoire devient

*/1 * * * * root /home/bin/run_rtm.sh > /dev/null 2> /dev/null

pour avoir un log de l'état de la machine. Ce /home/bin/run_rtm.sh contient

#!/bin/sh
 
LOGDIR=/var/log/rtm
LOGTMP=$LOGDIR/rtm.last.log
# pour lecture tranquille  
LOGBAK=$LOGDIR/rtm.last.log.bak
# pour memoire
LOGFULL=$LOGDIR/rtm.log
# les erreurs
LOGERR=$LOGDIR/rtm_error.log
# fréquence (en minutes) du backup de LOGTMP dans LOGFULL
FREQ=10
 
# verif de la presence des fichiers
[ -d $LOGDIR ] || mkdir $LOGDIR
[ -f $LOGTMP ] || touch $LOGTMP
[ -f $LOGBAK ] || touch $LOGBAK
[ -f $LOGFULL ] || touch $LOGFULL
[ -f $LOGERR ] || touch $LOGERR
 
# on ne met dans le log complet qu'un rtm sur 10
m=$(date '+%M')
# il faut virer le 1er 0 des minutes, car bash ne peut pas comparer 08 et 09 (octal)
m2=${m#0}
let "m2 %= $FREQ" #modulo
[ $m2 -eq 0 ] && echo>>$LOGFULL && cat $LOGBAK >> $LOGFULL
mv -f $LOGTMP $LOGBAK
 
> $LOGTMP
# On préfixe avec la date de lancement
echo "[$(/bin/date '+%F %T')] Début rtm" > $LOGTMP
/usr/local/rtm/bin/rtm <XX> | sed -e "s/^rtm/$TS/" >> $LOGTMP 2>>$LOGERR
linux/adminsys/rtm.1239600382.txt.gz · Dernière modification : 13/04/2009 07:26 de daniel