Probleme mit Skript (zum Sichern von Dateien)

U

u88

Hallo an alle
folgendes Problem:
möchte ein skript unter Linux schreiben, welches mir meine Dateien in einem Verzeichnis sichert.
Der Aufruf sollte so aussehen: save 'Verzeichnis' bzw. save 'Pfad/Verzeichnis'
Dann sollte das Skript prüfen
1) ob in diesem Verzeichnis dateien enthalten sind. Wenn Nein -> Fehlermeldung
2) ob das Sicherungsverzeichnis (..../sicherungen/save ) schon vorhanden ist, wenn ja -> Fehlermeldung

Wenn kein Fehler auftritt soll es dann alle Dateien aus dem Verzeichnis welches übergeben wurde in das Verzeichnis save kopieren.

>Erstes Problem: Wie übergebe ich save das Verzeichnis
>Zweites Problem: Meine Überprüfung der Anzahl der Dateien im Verzeichnis funktioniert nicht
>Drittes Problem: Wie baue ich meine Schleife auf um die Daten einzeln zu kopieren
>Viertes Problem: Wie gebe ich den Namen der gerade gesicherten Datei aus?

Das habe ich bis jetzt hinbekommen:


Code:
clear
#verz übergebener Paramter

echo "Beginne mit Sichern von Verzeichnis $verz"

#Prüfen ob save vorhanden
if test -d /home/benutzer1/sicherungen/save
then echo "Fehler: Sicherungsverzeichnis existiert bereits"
else
   	{
	#save erstellen
	echo "Erstelle Sicherungsverzeichnis"
	mkdir /home/benutzer/sicherungen/save
	if test -d /home/benutzer1/sicherungen/save
		then echo "Sicherungsverzeichnis wurde erstellt"
		else echo "Fehler: Kann Sicherungsverzeichnis nicht erstellen"
	fi
	
	#Prüfen ob Verzeichnis leer
	if (ls $verz | wc -l == 0)	?????
		then echo "Fehler keine Daten zum Sichern vorhanden !"
		else 
		{	
			echo "Daten werden gesichert"
			#Sichern der Daten
			while ?????
			do
				cp ???
				echo "Datei gesichert :" ???->Name der gerade gesicherten Datei
			done		
		}
	}
fi

exit 0

Ich bin am verzweifeln bitte helft mir ich sitzte schon seit gestern Abend dran und komm einfach nicht weiter. Hab schon mit Google gesucht aber konnte mir alles nicht sehr viel weiter bringen.

Vielen Dank U88
 
>Erstes Problem: Wie übergebe ich save das Verzeichnis
Übergeben von Infs.
wenn du
sh save.sh deindir
dann kannst du es mit $1 als Variable in deinem sh haben.

>Zweites Problem: Meine Überprüfung der Anzahl der Dateien im Verzeichnis funktioniert nicht
Überall ls -1 ausführen und dann mit wc -l überprüfen
ls -1 | wc -l
>Drittes Problem: Wie baue ich meine Schleife auf um die Daten einzeln zu kopieren
for i in $(ls -1)
do
echo $i # cp $i save
done
>Viertes Problem: Wie gebe ich den Namen der gerade gesicherten Datei aus?
mit echo ???
 
Zuletzt bearbeitet:

Ähnliche Themen

Log-Datei bearbeiten

NAS-Drive Mount in Bash-Script über crontab

Verschlüsseltes Backup-Script mit rsync

[gelöst] - for file in ... nur für bestimmte Endungen?

Rückgabe eines Befehls

Zurück
Oben