Vendredi - Un Exemple d’Archiveur de Log
28/11/2003
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"
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
Chargement
Commentaires récents