Hallo Liebe Community!
Bin noch recht neu dabei bei der Programmierung und komme bei meiner Aufgabe nicht weiter. Ich probiere ein Shell-Skript zu erstellen was Dateien aus einem Verzeichnis einliest und in eine zip packt. Dabei soll Dateien berücksichtigt werden die älter als X Tage sind. Für jede zu verpackende Datei will ich dabei den User fragen ob er die Datei archivieren und löschen soll oder nicht.
Ich kopier den Programmcode mal rein, ich weiß das meine Einrückung nicht optimal ist, mir würde es aber sehr weiterhelfen wenn ihr mich auf meine Fehler im Code aufmerksam machen könnt!
Vielen Lieben Dank im Vorraus!
LG Hans
Bin noch recht neu dabei bei der Programmierung und komme bei meiner Aufgabe nicht weiter. Ich probiere ein Shell-Skript zu erstellen was Dateien aus einem Verzeichnis einliest und in eine zip packt. Dabei soll Dateien berücksichtigt werden die älter als X Tage sind. Für jede zu verpackende Datei will ich dabei den User fragen ob er die Datei archivieren und löschen soll oder nicht.
Ich kopier den Programmcode mal rein, ich weiß das meine Einrückung nicht optimal ist, mir würde es aber sehr weiterhelfen wenn ihr mich auf meine Fehler im Code aufmerksam machen könnt!
Vielen Lieben Dank im Vorraus!
LG Hans
Code:
#!/bin/bash
#Nutzereingabe für Alter der Dateien
echo "How old should the files be?"
read Number_days
if ! [[ "$Number_days" =~ [0-9]+$ ]];then
echo "Error, only enter a number please!"
fi
#Mindestalter der Dateien filtern und ausgeben
Files=$(find -mtime +$Number_days)
echo $Files
#Durchgehen der Dateien
Archive="packed.zip"
Counter=0
for File in $Files
do
echo -n "Do you want to archive <$File>?(y/n):"
read Decision
done
#Überprüfung der Nutzereingabe und Fallunterscheidung
if [ "$Decision" != "y" ] || [ "$Decision" != "n"]; then
echo -e "No proper Input recognized! Please only enter y or n!\a"
elif [ "$Decision" = "n" ]; then
echo -e "skipped current Fie!\a"
continue
#Bestätigung der Nutzereingabe positiv: Datei wird verschoben und gelöscht
elif ["$Decision" = "y" ]; then
echo "File will be archived, deleting the original one!"
zip "$Archive" $File
let Counter++ #Inkrementierung Counter für zählen der Dateien!
rm $File
else
echo "Wrong Input!"
fi
#Bestätigung am Ende
echo "$Counter File(s), older then $number_days were successfully put in the <$Archive>"
exit 0