Juin 152011
si à un moment vous sentez que la connexion à votre serveur est assez lente, c’est peut-être parce que ce fichier est trop gros.
Faire une copie de wtmp dans un répertoire moins critique /tmp par exemple
$ cp /var/adm/wtmp /tmp/wtmp
Convertir le fichier en ascii
$ /usr/sbin/acct/fwtmp < /var/adm/wtmp > /tmp/wtmp
Créer un fichier wtmp plus petit des 100 dernières lignes du fichier wtmp:
$ tail -100 /tmp/wtmp > /tmp/wtmp.last
Ensuite reconvertir le fichier ascii en binaire :
$ /usr/sbin/acct/fwtmp -ic < /tmp/wtmp.last > /tmp/wtmp
remplacer le fichier:
$ mv /tmp/wtmp /var/adm/wtmp
et un piti script en cadeau :
Download : fwtmp.sh
#!/bin/ksh case $(uname -s) in HP-UX) FWTMP=/usr/sbin/acct/fwtmp ;; SunOS) FWTMP=/usr/lib/acct/fwtmp ;; *) echo "[ $(uname -s) ] Non pris en charge" exit 1 ;; esac MAX_SIZE="1024000" # taille au dela de laquelle on veut purger le fichier REST_LINES="10000" # le nombre d'elements que l'on veut garder for XTMP in /var/adm/wtmp /var/adm/btmp /etc/utmp do # on teste si le fichier a purger existe bien [-f "$XTMP" ] || continue SIZE= SIZE=$(/bin/ls -l $XTMP |awk '{print $5}' 2>/dev/null) # si on atteint $MAX_SIZE, on purge [ "$SIZE" -gt "$MAX_SIZE" ] && { ${FWTMP} < ${XTMP} |tail -n $REST_LINES |${FWTMP} -ic > /tmp/${XTMP##*/} if [ "$?" = "0" ] then mv /tmp/${XTMP##*/} ${XTMP} else echo "Erreur a la purge du fichier [${XTMP}]" fi } done