#!/bin/sh #-------------------------------------------------------------------------------------------- # @(#) purge_gros_fic_in_var.sh # Nom / Name : purge_gros_fic_in_var.sh # Type / Type : job shell (UNIX) # But / Aim : Dans le repertoire "/var" : purge des fichiers pour gagner de la place # 1) raccourcir les fichiers temporaires ou log trop gros # 2) deplacer les fichiers .Z .z .gz .tar .cpio trop gros # dans /export/depot # afin de faire de la place dans /logiciel # Auteur / Author: Benjamin LISAN -> date creation: 15/12/99 # Usage / Usage : purge_gros_fic_in_var.sh # Exemple / Ex. : purge_gros_fic_in_var.sh # Contexte / Co. : cron # Commentaires : version pour Solaris 5.8 et 5.10 #-------------------------------------------------------------------------------------------- echo "0) taux d'occupation du FS /var avant purge : " df -k /var echo "1) purger les fichiers '/var/adm/sa/sa...' ayant plus de 15 jours" find /var/adm/sa -type f -mtime +15 -name "sa*" -exec /bin/rm -rf {} \; echo "2) purge des fichiers queue de sendmail ayant plus de 60 jours" find /var/spool/mqueue -type f -mtime +60 -exec /bin/rm -rf {} \; echo "3) supprimer les fichiers inutiles de type « core » et « toto » et ceux dans lost+found" find /var -name "toto" -exec /bin/rm -f {} \; find /var -name "core" -type f -exec /bin/rm -f {} \; find /var/crash/`uname -n` -name "unix*" -mtime +15 -exec /bin/rm -f {} \; find /var/crash/`uname -n` -name "vmcore*" -mtime +15 -exec /bin/rm -f {} \; test ! -d /var/lost+found && mkdir /var/lost+found 2> /dev/null /bin/rm -f /var/lost+found/* echo "4) supprimer les fichiers .tar. et/ou .gz., de plus de 60 jours" find /var \( -name "*.tar" -o -name "*.gz" \) -type f -mtime +60 -exec /bin/rm -f {} \; echo "5) purge des fichiers '*.log' de plus de 100 jours et ayant une taille de plus de 10 Mo" find /var -name "*.log" -type f -mtime +100 -size +10000000c -exec /bin/rm -f {} \; echo "6) raccourcir les fichiers log ou tmp, trop long, au 500 derniers enr" for fic in `find /var \( -name "*.tmp" -o -name "*.log" \) -size +1000000c -type f` do echo "\na) Avant compression :" ls -l $fic head -3 $fic > /tmp/fic_a_racourcir$$ tail -500 $fic >> /tmp/fic_a_racourcir$$ echo "b) Compression du fichier $fic" compress $fic mv /tmp/fic_a_racourcir$$ $fic echo "c) Apres compression :" ls -l ${fic} ls -l ${fic}.Z done # echo "7) deplacer les fichiers .Z .z .gz .tar ou .cpio, trop gros, dans /export/depot" # test ! -d /export && mkdir /export 2> /dev/null # test ! -d /export/depot && mkdir /export/depot 2> /dev/null # for fic in `find /logiciel -size +1000000c -type f \ # \( -name *.Z -o -name *.z -o -name *.gz -o -name *.tar -o -name *.cpio \)` # do # ls -l $fic # mv $fic /export/depot # done echo "7) taux d'occupation du FS /var apres purge : " df -k /var