Le Lundi 03 D�cembre 2001 17:32, Bernard Lambey a �crit :
> Serge Carrere �crivait Dimanche 2 D�cembre 2001 � 20h46
> ������������������������������������������������������
>
> > Voici le script de sauvegarde de fichiers log., copie de l'article de
> > Fr�d�ric Mazu� de "LINUX+" n�9 de Novembre 2000.
> > [ ... ]
> > Ensuite, on efface le fichier temporaire.
>
> ������������������������������������������������������
> Tout �a m'a l'air bel et bon, Serge, merci donc mille fois comme promis.
> Par hasard, une question, l'as tu test� toi-m�me ? Car je suis bien trop
> nul en bash pour me rendre compte s'il comporte une couillonnade et
> laquelle !!! Alors c'est, en fait, avec des script comme �a que je vais
> commencer mon apprentissage... je pr�f�rerai donc que tu me dises
> vas-y je l'ai test�, c'est tout bon !!!
> Mais, je ne sais pas, comme �a, � vue de pif, il me parait sympa ! ;-)))
> ... Amicalement
> Bernard L.(Montpellier)
Ben, avant de l'envoyer sur la liste, je l'ai test� sur des copies de
fichiers (on n'est jamais trop prudent) et �a marche.
Je ne voulais pas envoyer de fausses commandes qui auraient pu causer des
d�g�ts sur des machines.
Si tu veux tester et voir "en direct" ce que cela donne, en console sous root
tu copies les fichiers /var/log/dmesg et messages par exemple dans ton
r�pertoire /home/bernard. Change leur les droits en root
chown bernard.bernard /home/bernard/messages et dmesg
Cr�e ces fichiers "cleantab" et "cleaner" dans ton home
cleantab-------------------
/home/serge/dmesg
/home/serge/messages
------------------------------
cleaner---------------------------
#! /bin/bash
# d'abord, s'assurer que la cleantab existe
if [ ! -e /home/bernard/cleantab ]
then
exit 0
fi
# cr�er le fichier temporaire qui servira de tampon
temporaire=$(mktemp /home/bernard/cleantemp.XXXXXX)
# lire les entr�es de la cleantab
#conserver les xx derni�res lignes de chaque ent�re
for fichier in $(awk ' { print $0 } ' /home/bernard/cleantab)
do
tail --lines=10 $fichier >$temporaire
cat <$temporaire >$fichier
done
#cr�e par copie un fichier tempo du temporaire
cp -f $temporaire /home/bernard/tempo
#effacer le fichier temporaire
rm -f $temporaire
exit 0
-----------------------------------------------------------------------------
rend ce cleaner ex�cutable
chmod 744 /home/bernard/cleaner
ouvre konqueror sur ton r�pertoire /home/bernard tu verras tes fichiers
cr��s, dans une console (m�me en user) tapes ./cleaner et tu verras ce qui se
passe et nottament que tes fichiers dmesg et messages auront fondu jusqu'� 10
lignes.
Voil�.
Mais ce script est peut-�tre obsol�te, car depuis la MDK8.0 si tu vas dans le
r�pertoire /var/log, tu remarqueras que les gens de Mandrake ont pr�par� des
scripts qui "zippent" les fichiers de log. Par exemple, tu as messages (250k
env.) et � c�t� messages.1.gz, messages.2.gz etc.. chacun faisant environ 80
k.
Donc, une part du boulot est d�j� fait, si vraiment tu as un manque de place,
tu peux faire un script plus simple qui d�place les fichiers zipp�s dans un
r�pertoire de /tmp et qui ensuite le d�truit.
A ciao, serge.
--
T'as le bonjour de LEO!
http://leoloden.free.fr
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com"