Hallo Community! Habe vor kurzem schon eine Frage hier reingestellt und durch eure Hilfe konnte ich meinen Code ausbessern und viel dabei lernen! Er klappt nun so wie er soll, jedoch hab ich noch eine Verständnisfrage beim Archivieren von Dateien.
Mein Shell-Skript soll Dateien die älter als X Tage sind in eine Zip-Datei packen und sie dann löschen. Das klappt auch ganz gut, jedoch kann ich die gelöscht Datei nun nicht in der Zip-Datei die im Skript packed.zip heißt finden. Woran könnte das liegen?
Nachdem ich die zip öffne steht nur: Das Archiv ist leer oder Ark kann den Inhalt nicht öffnen. Funktioniert der "zip "Archieve" $File" command in meinem Skript doch nicht oder ist es etwas anderes?
Ich bedanke mich schonmal im Vorraus und liebe Grüße,
Hans
Mein Shell-Skript soll Dateien die älter als X Tage sind in eine Zip-Datei packen und sie dann löschen. Das klappt auch ganz gut, jedoch kann ich die gelöscht Datei nun nicht in der Zip-Datei die im Skript packed.zip heißt finden. Woran könnte das liegen?
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!"
exit 1
fi
#Mindestalter der Dateien filtern und ausgeben
IFS=$'\n'
Files=$(find ../hellow -maxdepth 1 -mtime +$Number_days)
echo $Files
#Einzelne Dateien durchgehen und Nutzerabfrage
Archieve="packed.zip"
Counter=0
for File in $Files;do
echo -n "Do you want to archive <$File>?(y/n):"
read Decision
#Eingabe überprüfen und Fallunterscheidung vollziehen
if [ "$Decision" != "y" ] && [ "$Decision" != "n" ]; then
echo -e "No proper Input recognized! Please only enter y or n!\a"
continue
elif [ "$Decision" = "n" ]; then
echo -e "skipped current Fie!\a"
continue
#Archivierung wird zugestimmt: Datei wird verschoben und gelöscht!
elif [ "$Decision" = "y" ]; then
echo "File will be archived and the original will be deleted!"
zip "Archieve" $File
let Counter++
rm -v $File
continue
fi
done
#Bestätigung der Ausgabe
echo "$Counter File(s), older then $Number_days were successfully put in the <$Archieve>"
exit 0
Nachdem ich die zip öffne steht nur: Das Archiv ist leer oder Ark kann den Inhalt nicht öffnen. Funktioniert der "zip "Archieve" $File" command in meinem Skript doch nicht oder ist es etwas anderes?
Ich bedanke mich schonmal im Vorraus und liebe Grüße,
Hans