Bonjour, voici un petit probl�me que je ne ma�trise pas.
Je n'ai jamais appris de rpogrammation sur quoi que ce soit, donc, j'eesaie
d'apprendre avec les exercices trouv�s �a et l� dans les magazines...
Donc, j'ai cr�� un petit programme shell comme indiqu� dans un magazine pour
�radiquer les fichiers log en trop et �viter qu'il ne saturent mes partitions.
L'exemple est pour faire un script shell qui se lance tous les mois et me
vire les fichiers logs s�lectionn�s dans un fichier "/etc/cleantab" que j'ai
d�fini. Ce script me permet en outre de ne garder que les 200 derni�res
lignes de chaque fichier log s�lectionn�.
J'ai �crit le script en suivant l'exemple donn�, mais avant de l'installer
dans mon "cron monthly", j'ai voulu le tester en tapant: ./cleaner (son nom)
et l� j'ai eu deux messages d'erreur:
le premier concerne la ligne 14
./cleaner: line 14: unexpected EOF while looking for matching ",
Qu'est-ce que cela veut dire ? (pour moi c'est du chinois)
le second concerne la ligne 24
./cleaner: line 24: syntax error: unexpected end of file
Or mon fichier ne comprends que 23 lignes ??
Voici maintenant le script:
-----------------------------------------------------------
#! /bin/bash
# d'abord s'assurer que la cleantab existe
if [ ! -e /etc/cleantab ]
then
exit 0
fi
#cr�er un fichier temporaire qui servira de tampon
temporaire=$(mktemp /tmp/cleantemp.XXXXXX)
#lire chaque entr�e dans la cleantab et conserver
#seulement les 200 derni�res lignes de chaque fichier
for fichier in $(awk `{ print $0 }' /etc/cleantab)
do
tail -lines=200 $fichier >$temporaire
cat <$temporaire >$fichier
done
#effacer le fichier temporaire
rm -f $temporaire
exit 0
-----------------------------------------------------------
Si une �me charitable pouvait m'expliquer ce qui se passe et m'indiquer le
moyen de m'en sortir, merci d'avance.
A ciao, serge.
--
T'as le bonjour de LEO!
http://leoloden.citeweb.net/