Hallo,
ich brauche für eine backuplösung die fähigkeit eines shell scripts (ich muss dateien verschieben, verzeichnisse auflisten etc) und gleichzeitig die möglichkeit von rekursiven funktionen.
mit der bash geht sowas (wenn man sich nur genügend bemüht), der code ist aber nicht lesbar. ausserdem hab ich gelesen dass ab einem kritischen rekursionslevel die scripte crashen.
das das ganze für eine backuplösung sein soll brauch ich was stabiles.
meine frage: gibt es da ne gute lösung?
es muss nicht zum sdandard gehören (mir fällt da z.B. die xsh ein, die erlaubt xml dateien komfortabel zu editieren und gleichzeitig üblicheshell befehle zulässt). es muss aber (is ja eigentlich klar) ohne graphischen desktop und 100.000 ungewöhnliche bibliotheken auskommen.
meine backuplösung sieht so aus (vielleicht gibts auch dazu kommentare):
1) ein unison (unidirektional) erstellt nen spiegel auf dem raid system
2) ein script geht durch und mv .svn .svn_user sowie mv .svn_backup .svn damit ich nicht in konflikt mit evtl. vorhandenen svn verzeichnissen des users komme
3) hier mein script mit rekursion: gehe durch die verzzeichnisse, add für alle dateien wenn nicht ausgeschlossen (siehe unten)
4)svn commit
5)mv .svn .svn_backup
verzeichnisse ausschliessen:
.ignore ignoriert alle dateien im aktuellen verzeichnis
.ignore_rec ignoriert rekursiv
.add
.add_rec
d.h. wenn der user nix angibt gehen die dateien ins backup
die kombination .ignore_rec und dann .add oder .add_rec erlaubt in der verzeichnisshirarchie bestimmte bereiche vom backup auszuschliessen.
da svn binär inkrementell arbeitet ist das für mich das ideale backupsystem. zumal ich die möglichkeit des branchen habe und so die volle flexibilität.
die dump und dumpfilter befehle von svn erlauben mir z.B. aus der history bestimmte bereiche loszuwerden, damit das repository nicht zu gross wird. also z.B. alle history die älter als 1.5 jahre ist könnte man z.B. rauswerfen und auf band sichern etc.
was meint ihr? gibts schwachstellen, punkte die ich übersehe?
danke
alex
shell oder scriptsprache mit rekursion
-
- Beiträge: 117
- Registriert: 19.07.2004 18:17:42
Die Bash bietet auch Shell-Funktionen an, die rekursiv und ohne Begrenzung der Rekursionstiefe verwendet werden können. Wie bei jeder anderen Programmiersprache führt aber auch hier ein voller Stack zu einem Programmabsturz.
Ein "nicht lesbarer Code" ist auch nicht umbedingt gottgegeben. Die Bash verfügt über alle Kontrollstrukturen, wie sie bei Hochsprachen der zweiten Generation üblich sind.
Gruß
gms
Ein "nicht lesbarer Code" ist auch nicht umbedingt gottgegeben. Die Bash verfügt über alle Kontrollstrukturen, wie sie bei Hochsprachen der zweiten Generation üblich sind.
Gruß
gms
-
- Beiträge: 117
- Registriert: 19.07.2004 18:17:42
hatte nur nen beispielcode überflogen sah umständlich aus.
bin einer 'schlechten' website aufgesessen, hab inzwischen auch gelesen, dass die recursionstiefe nur durch den stack limitiert ist. das sollte ja reichen
da stand noch 'Be aware that recursion is resource-intensive and executes slowly, and is therefore generally not appropriate to use in a script'. deshalb wollte ich mal wissen ob es eine 'standard' umgebung für rekursive scripts gibt.
habe zwischenzeitlich überlegt ein perl script zu schreiben, da man dort ja so nette string - editier möglichkeiten hat [ja, kann man alles mit awk auch machen, weiss ich].
hat jemand mit per-scripten erfahrung - ist das ok oder eher abzuraten?
bin einer 'schlechten' website aufgesessen, hab inzwischen auch gelesen, dass die recursionstiefe nur durch den stack limitiert ist. das sollte ja reichen
da stand noch 'Be aware that recursion is resource-intensive and executes slowly, and is therefore generally not appropriate to use in a script'. deshalb wollte ich mal wissen ob es eine 'standard' umgebung für rekursive scripts gibt.
habe zwischenzeitlich überlegt ein perl script zu schreiben, da man dort ja so nette string - editier möglichkeiten hat [ja, kann man alles mit awk auch machen, weiss ich].
hat jemand mit per-scripten erfahrung - ist das ok oder eher abzuraten?