Bash Backup

Moinsen...
Ich würde gerne, wie manche sagen würden, weiter in die Materie des Bash scriptens einsteigen.

aus diesem Grunde habe ich ein wenig über bash gelesen etc. und mir ein kleines Backup script geschrieben.(nicht nach Tutorial :D)
Es ist echt nicht perfekt und soll es auch nie sein,.
Für mich reine Übung.(naja gut, da ich ein ziemlicher schusel bin, wäre es auch gut, meine daten ständig zu archivieren, falls ich wieder irgendwas kaputt mache :D)
Code:
#!/bin/bash
#
#Backup Pre alpha 0.3 by CrAc
#ragnarox.com
#
#Variable fuer Pfad des zu archivierenden Verzeichnisses
SRC=
#Variable fuer den Speicherort
SAVE=
#Variable fuer den Datei-Namen
NAME=$(date +%F).tgz
#
function get_src () {
echo "Bitte waehlen sie das zu speichernde Verzeichnis"
read SRC
}
function get_save () {
echo "Bitte waehlen sie nun den Speicherort"
read SAVE
}
get_src
get_save
echo "--------------- Es werden folgende Informationen verwendet: ---------------"
echo "Speicherort: $SAVE"
echo "Quellverzeichnis: $SRC"
echo "Name: $NAME"
function bak () {
tar cfvz $NAME $SRC/
}
bak
mv $SRC/$NAME $SAVE
echo "Das Backup wurde erfolgreich vollzogen"
FS=$(ls -l $SAVE/$NAME | tr -s " " | cut -d " " -f 5)
echo " Das erstellte Archiv ist $FS bytes groß"
exit 1
fi

erklärung:
Zuerst werden folgenden Variablen ermittelt:
Quellverzeichniss
Speicherort

Diese werden dann mit dem aktuellen datum als name an das Programm tar übergeben....

ToDo:
*Script soll per Parameter verschiedene funktionen bekommen:
-zuletzt erstelltes Backup öffnen (-o)
-informationen über das letzte Backup ( -l)
-letztes backup löschen ( -d)
-informationen zum script selber ( -i)
-altes backup löschen und neues erstellen (-n)
(oder halt neues per -n)

*Script soll aus .conf datei folgendes auslesen, was in einem Setup (-s) festgelegt wurde...
-Backupdatei

*Script soll die Variablen validieren (existenz etc)

vlt sogar gleich die Variablen mit aufruf des programmes bestimmen:
backup.sh -n /home/crac /home/backup
oder so ähnlich...

vieleicht irgendwelche tipps oder fehler?
(Bitte keinen code! ich wills komplett selber machen xP)

PS:
ich weis, das es hunderte solcher proggis gibt, aber ich will ebend lernen xP

/e:
Achja nochwas,
eigentlich wollte ich, bevor ich alles an tar übergebe, die informationen darstellen und abfragen ob sie korrekt sind (j/n) und wenn n dann zurück zum anfang, aber hat leider nich geklappt also habe ichs erstmal wieder rausgenommen :D
vlt irgendwelche vorschläge?
 
Pack mal noch folgendes in deine Todo:

- prüfen ob die angegebene Backup-Quelle und der Zielordner existieren, ansonsten ggf. erstellen (evtl. mit Abfrage)

Allgemein sollte man bei solchen Skripten immer davon ausgehen, dass sie von Laien benutzt werden, weswegen sämtliche User-Eingaben auf Gültigkeit geprüft werden sollten. Das ist eine allgemeine Regel, die man sowohl beim Programmieren als auch beim Skripten beherzigen sollte.

Edit: Lösungsvorschlag für den Rücksprung... Baue dir eine main()-Funktion ein, die aufgerufen wird, wenn nicht alle Daten vorhanden sind oder ungültige Daten eingegeben wurden.
 
Hi,

ich kann dich vollkommen verstehen, mir ist als Uebeungsbeispiel auch nichts besseres eingefallen. =)

Du koenntest auch noch Unterstuetzung fuer andere(installierte) Archivformate einbauen.
 
Danke für die Antworten =)
@ bitmuncher:
- prüfen ob die angegebene Backup-Quelle und der Zielordner existieren, ansonsten ggf. erstellen (evtl. mit Abfrage)
ich meinte dasselbe (*Script soll die Variablen validieren (existenz etc)) xD

und das mit der main funktion :rolleyes: sehr simple lösung, danke :D
auch für den tipp :D

@simsim:
nja isn recht nützliches proggi, und wenn mans demensprechend ausbaut, lernt man mehr als bei den tuts etc....


werde ich vlt heute abend nochma überarbeiten :]
 
Zurück
Oben