midway
23.02.09, 13:23
Hi Leute,
Habe ein Housekeeping script geschrieben welches stetig wachsende Logfiles in ein dafür vorgesehenes Verzeichnis kopiert und das Datum dazugefügt wird. Die aufzurufenden Logfiles liegen in einer anderen Datei namens files.ini
Jetzt habe ich das Problem dass ich im Script überprüfen muss ob die Pfade in der Datei files.ini auch korrekt sind und auf ein logfile verweisen.
Bsp gültiger Pfad: /opt/logfiles/pr.log
Bsp ungültiger Pfad: /opt/logfiles/ oder /opt/pr.log oder einfach nur pr.log
Da ich mit Shellscripting erst vor kurzem angefangen habe bin ich mit meinem Latein bereits am Ende und finde einfach keine Lösung...
Hier mein Script:
#!/bin/sh
DATE=`date +"%d%m%Y_%H%M"`
##Auslesen der einzelnen Pfade
for i in `cat /usr/local/bin/files.ini`
do
##Überprüfen der Pfadangaben
ls $i
if [$? = 0]; then
##Kopieren der Dateien in dasselbe Verzeichnis
cp $i $i-DATE
##Inhalt leeren jeder Datei
echo "" > $i
else
echo "Fehler in den Pfadangaben! Bitte überprüfen!"
echo "Ungültiger Pfad:"
echo $i
exit 0
fi
## Alle Dateien älter als 7 Tage löschen
find $i -mtime +7 -exec rm -f {} \;
done
Habe ein Housekeeping script geschrieben welches stetig wachsende Logfiles in ein dafür vorgesehenes Verzeichnis kopiert und das Datum dazugefügt wird. Die aufzurufenden Logfiles liegen in einer anderen Datei namens files.ini
Jetzt habe ich das Problem dass ich im Script überprüfen muss ob die Pfade in der Datei files.ini auch korrekt sind und auf ein logfile verweisen.
Bsp gültiger Pfad: /opt/logfiles/pr.log
Bsp ungültiger Pfad: /opt/logfiles/ oder /opt/pr.log oder einfach nur pr.log
Da ich mit Shellscripting erst vor kurzem angefangen habe bin ich mit meinem Latein bereits am Ende und finde einfach keine Lösung...
Hier mein Script:
#!/bin/sh
DATE=`date +"%d%m%Y_%H%M"`
##Auslesen der einzelnen Pfade
for i in `cat /usr/local/bin/files.ini`
do
##Überprüfen der Pfadangaben
ls $i
if [$? = 0]; then
##Kopieren der Dateien in dasselbe Verzeichnis
cp $i $i-DATE
##Inhalt leeren jeder Datei
echo "" > $i
else
echo "Fehler in den Pfadangaben! Bitte überprüfen!"
echo "Ungültiger Pfad:"
echo $i
exit 0
fi
## Alle Dateien älter als 7 Tage löschen
find $i -mtime +7 -exec rm -f {} \;
done