Accueil > Astuces OSXFAQ > Vendredi - Un Exemple d’Archiveur de Log

Vendredi - Un Exemple d’Archiveur de Log

Ce script peut être placé dans /etc/weekly.local. Il archivera de façon circulaire (nombre de fichiers constant, le plus ancien laissant place au plus récent), mieux que ne le fait le script quotidien standard. Le script standard n’archive que les fichiers *.log qui sont dans /var/log. Ce script fait la même chose pour des sous-répertoires tels que /var/log/httpd/*.log et /var/log/bind/*.log.

#!/bin/sh -

########################## # Script quotidien de nettoyage # ##########################
host=$(hostname -s) echo "Sujet: $host - rapport du lancement quotidien en local"
# liste les sous-répertoires à considérer, dans ce cas # /var/log/httpd and /var/log/named for logtype in httpd named do
echo "" echo -n "Archivage des fichiers log de type $logtype :"
if [ -d /var/log/$logtype ]; then cd /var/log/$logtype for log in *.log do echo -n " $log" if [ -f "${log}.3.gz" ]; then mv -f "${log}.3.gz" "${log}.4.gz"; fi if [ -f "${log}.2.gz" ]; then mv -f "${log}.2.gz" "${log}.3.gz"; fi if [ -f "${log}.1.gz" ]; then mv -f "${log}.1.gz" "${log}.2.gz"; fi if [ -f "${log}.0.gz" ]; then mv -f "${log}.0.gz" "${log}.1.gz"; fi
if [ -f "${log}" ]; then mv -f "${log}" "${log}.0" /usr/bin/gzip -9 "${log}.0" fi touch "$log" done
case $logtype in httpd) apachectl graceful;; named) ndc restart;; *);; esac
fi
done
echo "" echo "Fin de traitement"

Parlez de cette astuce dans le Learning Center forum (en anglais sur osxfaq.com)


Si vous souhaitez en apprendre plus sur Mac OS X Unix visitez le Learning Center
 cliquez ici.

  • Pour les débutants : Le Tutoriel Mac OS X Unix
  • Pour plus d’informations sur des sujets spécifiques : Mac OS X Advanced Unix
  • Pour des réponses à des problèmes communs : Mac OS X How To

Thierry Astuces OSXFAQ

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire