J
Janine
Eroberer
Hallo Jungs,
das Script überprüft die anzahl der Dateien in dem Ordner Maximum sind 2, also wenn schon 2 vorhanden sind löscht er das älteste File und legt ein neues an. Wenn ich aber jetzt per Hand meinetwegen 4 anlege und das Script wieder ausführe löscht er nur das älteste und legt ein neues an also sind es noch 3 der soll aber bis zum maximum alle ältesten wieder löschen.
Wie mach ich es am besten ? Mit einer while Schleife?
Wäre nett wenn wenn jemand eine Beispiellösung hat
MfG Janine
das Script überprüft die anzahl der Dateien in dem Ordner Maximum sind 2, also wenn schon 2 vorhanden sind löscht er das älteste File und legt ein neues an. Wenn ich aber jetzt per Hand meinetwegen 4 anlege und das Script wieder ausführe löscht er nur das älteste und legt ein neues an also sind es noch 3 der soll aber bis zum maximum alle ältesten wieder löschen.
Wie mach ich es am besten ? Mit einer while Schleife?
Code:
#!/bin/sh
DATE=`date +%Y_%m_%d_%H_%M_%S` #Aktuelle Datum
a=$(ls -lt FULL* | wc -l) #Anzahl der FULL-Backup Dateien
if test "$a" -gt "2" #Backup begrenzung auf 3
then
clear
echo "Maximale FULL_Backups erreicht. Älteste Backup wurde gelöscht und durch neues ersetzt."
alt=`ls -tr FULL* | head -n1` #Ausfindig machen des ältesten Backups
rm $alt #selbige löschen
echo "#FULL_$DATE" > "FULL_$DATE" #neues anlegen mit Datum im Namen
ls -l
df -mP|/usr/bin/awk '/hda2/{P=($2 - $3) *100/$2;printf "Noch %6.3f % verfügbarer Speicherplatz auf /dev/hda2\n",P}'
exit
else
clear
echo "Backup wurde erstellt."
echo "#FULL_$DATE" > "FULL_$DATE"
ls -l
df -mP|/usr/bin/awk '/hda2/{P=($2 - $3) *100/$2;printf "Noch %6.3f % verfügbarer Speicherplatz auf /dev/hda2 \n",P}'
exit
fi
Wäre nett wenn wenn jemand eine Beispiellösung hat
MfG Janine