rjan
Anmeldungsdatum: 20. September 2005
Beiträge: 176
Wohnort: Rapperswil, BE (CH)
|
Freude herrscht 😀 Ich habe gerade mein erstes (hoffentlich brauchbares) Bash-Script fertiggestellt. Es ist zwar eher ein proof-of-concept denn eine alpha, aber ich möchte es trotzdem einmal hier vorstellen. Ich habe schon lange nach einem ordentlichen Backup-Script für rsync wie z. b. rsync-incr gesucht. Das Problem war aber immer, dass der Script -entweder keine Speicherplatzverwaltung machte -oder nur eine quelle verwalten konnte -oder nur mit php ausgeführt werden konnte -etc... Der Script den ich hier vorstelle funktioniert folgendermassen: In einer oder mehreren Configdateien im /etc/smarbsbackup - Verzeichnis stehen die Quellen, das Ziel, und beispielsweise wieviel Platz die gesamten Backups belegen dürfen. Wenn der Script dann ausgeführt wird, macht er bei jedem Backup ein inkrementelles Backup mit Hilfe von rsync, was etwa folgendes bedeutet: Das neuste Backup ist immer das volle Backup, alle anderen sind die von vorher. Bei den vorherigen Backups wird jedoch mit Hardlinks auf alle Dateien (im neusten Backup) verwiesen, welche gleich geblieben sind. Man hat also auch bei den alten Backups immer noch die ganze Dateistruktur vorhanden, jedoch bei einem minimlen zusätzlichen Platzverbrauch. Der Lösch-Algorithmus, welcher Platz schafft wenn die maximale Grösse erreicht wird, ist jedoch eigentlich der Kern der Sache: Angenommen man macht jeden Tag ein Backup. Dann sorgt der Script dafür, dass man schlussendlich immer ein Backup von vor 1, vor 2, vor 4, vor 8, vor 16, vor 32 usw. Tagen hat. Also je älter die Backups sind, desto weniger hat man davon (aber vielleicht findet man trotzdem eine Datei, welche man schon vor etlichen Monaten gelöscht hat) und je neuer sie sind, desto mehr häufen sie sich (So kann man Notfalls das ganze System mit einem der neuen Backup wiederherstellen oder die Änderungen einer Datei zurückverfolgen). Und das ganze bei so wenig wie möglich Platzverbrauch. Dies ist mein erster Script und es sollte eigentlich keinen Schaden anrichten. Da alles aber noch im Beta-Stadium ist kann ich für nichts garantieren! Würde mich trotzdem unheimlich freuen, wenn ihr das Script ausprobieren (oder durchsehen) könntet, oder auch nur mal posten würdet, was ihr davon haltet. Für Bug-Berichte und Verbesserungsvorschläge bin ich immer offen, und bei Unklahrheiten fragt einfach nach 😉 Cheers Jan PS. Ich habe bereits einige Verbesserungen gemacht und mein Projekt vor kurzem Open-Source auf sourceforge.net gehostet (Englisch): http://smarbs.sourceforge.net Smarbs v0.1
v0.2
v0.4.2
Some more documentation
v0.5
- smarbs-v0.5.1.tar (20.0 KiB)
- Download smarbs-v0.5.1.tar
|
comm_a_nder
Anmeldungsdatum: 5. Februar 2006
Beiträge: 2533
Wohnort: Dresden
|
Ich habe es mir mal überflogen, was mir beim ersten Blick so alles auffällt:
kein Shebang am Anfang, was den zu nutzenden Interpreter angibt (#!/bin/bash z.B.) K, M und G sind in der Informatik 1024, 1048576, 1073741824 und nicht 1000, 1000000 und 1000000000 Deine Einrückung bei verschachtelten If Konstrukten ist unübersichtlich Ich würde smarbsconfig lieber als verstecktes File machen, also .smarbsconfig Deine Zeilen im allgemeinen sind zu lang Ansonsten für ein erstes Bashscript schon ganz beträchtlich. Die Funktion an sich schau ich mir mal noch an, wenn ich in den nächsten Tagen mal Zeit finden sollte :p
|
rjan
(Themenstarter)
Anmeldungsdatum: 20. September 2005
Beiträge: 176
Wohnort: Rapperswil, BE (CH)
|
Danke erst einmal für die vielen Verbesserungsvorschläge, werde mich sogleich daran machen, zu korrigieren. Zur Darstellung: Da es mein erstes Script ist, habe ich noch überhaupt nicht auf Einrückungen usw. geachtet, da ich warscheinlich sowieso noch einiges Verändern und Umschreiben muss. Das #!/bin/bash habe ich tatsächlich vergessen, das hole ich noch nach. Die überlegung beim nicht-verstecken des configfiles war, dass es der Benutzer ja noch bearbeiten muss, und da wäre ich beim Verstecken Gefahr gelaufen, dass es ein unerfahrener User vielleicht nicht findet. Eine Idee wäre auch, es wie andere Scripte in den /etc Ordner zu verschieben. Normalerweise werden die Backups ja sowieso nur vom Root, und nicht von den einzelnen Anwendern persönlich ausgeführt. Das mit K, M und G: Das habe ich mir erst auch gedacht und es auch so reingeschrieben. Dann bin ich aber auf folgende wikipediaartikel gestossen: Kilobyte http://en.wikipedia.org/wiki/Kilobyte Und ich meine ja das Kilobyte (Kb) und nicht das Kibibyte (KiB). Den Ausschlag gegeben hat aber die Funktion 'du', welche die Grösse von Ordnern und Dateien bei Eingabe von -h (für "human readable") auch in tausender und nich 1024-er Potenzen angibt. Ich bin mir immer noch nicht ganz sicher, was ich nun nehmen sollte, kann mir jemand das mit den KiB und Kb und dem du -h vielleicht erklären? Danke für die Hilfe!
|
dahane
Anmeldungsdatum: 23. Oktober 2004
Beiträge: 326
Wohnort: Hamburg
|
Du könntest "du" auch dazu bringen 1024 zu benutzen. "--si like -h, but use powers of 1000 not 1024"
|
adun
Anmeldungsdatum: 29. März 2005
Beiträge: 8606
|
Der Rechner als Binärbehinderter kann halt mit dem menschlichen Kilo nichts anfangen 😉
|
rjan
(Themenstarter)
Anmeldungsdatum: 20. September 2005
Beiträge: 176
Wohnort: Rapperswil, BE (CH)
|
Nach einem zweimonatigen Stopp aufgrund einer defekten Festplatte kann ich nun endlich wieder am Script weiterarbeiten! Ich setze es bei mir bereits erfolgreich ein, bräuchte aber noch immer Tester, welche nach möglichen Bugs und Fehlern suchen. Auch weiss ich nicht, wie aufschlussreich meine Fehlermeldungen sind und ob man die Konfigurationsdatei versteht und so weiter. Ich bin froh über jede Anregung und Kritik und hoffe, dem einen oder anderen wird das Skript auch weiterhelfen. Ich bin auch offen für weitere Funktionen, welche eingebaut werden könnten, ich muss nur wissen, was noch gefragt ist. Ich hoffe vor allem, mit meinem Script auch einen Beitrag zur Ubuntu- und Open-Source-Community im allgemeinen zu leisten, da ich ihr schon so viel verdanke! 😉 Mfg Jan
|
rjan
(Themenstarter)
Anmeldungsdatum: 20. September 2005
Beiträge: 176
Wohnort: Rapperswil, BE (CH)
|
Da sich hier so wenige melden, dürfte ich wenigstens erfahren, an was es liegt? Machen die meisten von euch gar keine Backukps? Oder ist es so, dass alle schon ein passendes Programm gefunden haben? Denn dann wüsste ich gerne, welches... Oder habt Ihr vielleicht Angst, etwas "unprofessionelles" von einem einzelnen Entwickler auzuprobieren? Hätte nur gerne eurt meinung gehört! Mfg Jan
|
adun
Anmeldungsdatum: 29. März 2005
Beiträge: 8606
|
Naja, erstmal machen eine ganze Menge von uulern sicherlich keine Backups, dann kommt die Gruppe der GUI-Leute, die sich bei sbackup & Co einfinden, letztlich deine "Zielgruppe" hat a) viele bereits existierende Skripte zur Auswahl und b) häufig selbst ein kleines Skript. 😉 Ich teste aber gerne mal deins. *testen geh*
|
torsten
Anmeldungsdatum: 25. März 2006
Beiträge: Zähle...
Wohnort: L.E. / Saxonia
|
Ich benutze sBackup auf eine zweite Festplatte (automatisch jeden Tag). Es hat mir schon geholfen, als meine letzte Festplatte den Dienst quittiert hat! Bye Torsten
|
rjan
(Themenstarter)
Anmeldungsdatum: 20. September 2005
Beiträge: 176
Wohnort: Rapperswil, BE (CH)
|
Hi, und danke erstmal für die Antworten sBackup habe ich mir angeschaut, aber das hatte von mir aus gesehen folgende Nachteile: -Keine Speicherplatzverwaltung: Ich kann nicht zum Beispiel "mach Backups bis zu 2 Gb, dann beginne alte Backups zu löschen zu löschen" angeben -inkrementelle Backups: Wenn das Hauptbackup kaputt ist, hat man nur noch die neuen Dateien, und alles andere ist weg. Das ist bei rsync anders: Da werden bei jedem Backup alle Dateien überprüft und soweit ich weiss, hat man bei sBackup immer nur die letzte Version der Daten, liege ich da richtig? Wenn ich also eine Datei versehentlich lösche, und danach ein Backup mache, ist sie nach dem nächsten vollen Backup auch nicht mehr vorhanden oder? Mfg Jan
|
Eva
Anmeldungsdatum: 17. Mai 2005
Beiträge: 974
|
rjan hat geschrieben: Da sich hier so wenige melden, dürfte ich wenigstens erfahren, an was es liegt?
Ich mach meine Backups per Hand... *duck* Schöne Grüße Calvin
|
umarmung
Anmeldungsdatum: 26. Oktober 2004
Beiträge: 5632
|
Ich benutze rsnapshot und bin damit vollauf zufrieden.
|
rjan
(Themenstarter)
Anmeldungsdatum: 20. September 2005
Beiträge: 176
Wohnort: Rapperswil, BE (CH)
|
umarmung hat geschrieben: Ich benutze rsnapshot und bin damit vollauf zufrieden.
> rsnapshot habe ich auch eine Weile gebraucht. Das war das letzte Programm, dass ich hatte, bevor ich meinen Script begann. Aber wieder scheiterte es hier an der Speicherplatzverwaltung, soweit ich weiss, wurde entweder zuviel Platz verbraucht, oder er wurde nicht voll ausgenutzt, weil stets nach einer bestimmten Anzahl von Updates bereits gelöscht wurde, auch wenn noch vorhanden gewesen wäre...
Oben in der Umfrage haben ein paar angegeben, sie hätten noch nichts gefunden dass ihren Anforderungen entspräche...
Was sind denn eure Anforderungen überhaupt?
Mfg Jan
|
Drops
Anmeldungsdatum: 27. Oktober 2005
Beiträge: 117
Wohnort: Freckenhorst
|
Hi rjan, rjan hat geschrieben: Was sind denn eure Anforderungen überhaupt? Jan
ich habe diesen Thread gerade erst entdeckt, aber auch noch nicht das ultimative Skript gefunden. Deines scheint aber, was die Ideen angeht schon nahe heranzukommen, das werde ich mir in nächster Zeit bestimmt mal ansehehn. Aber ich beschreibe mal meine Anforderungen an mein Traum-Backup: Die Backup Dateien sollten in der Größe begrenzbar sein, so daß ich die einfach auf CD/DVD brennen kann. Es sollten mehrere Generationen vorgehalten werden, denn ab und zu kommt es vor, das die in der letzten Woche gelöschte Version doch noch wichtig wird. Ich sichere im Prinzip 3 Dinge: mein home als gz ca 1.8 GB. Das System (etwa 3 GB) und meine *ogg Sammlung (17*640MB). Letzteres Getrennt, da sie zuviel Platz wegnimmt um mit dem normalen Home vermischt zu werden, und von 95% habe ich auch die Originale wäre also nicht unersetzbar und wird daher nur selten gesichert. Ein Mirror existiert sowieso auf dem mobilen Player. Schön wäre zum Rücksichern ein einfacher Zugriff wie auf ein normales Dateisystem. (Das mach FauBAckup derzeit für mich sehr attraktiv) Ein inkrementelles (oder differentielles? ich verwechsele das immer) Backup mit der maximalen Erforderniss Grundsicherung + letztes Diff-Archiv zur Wiederherstellung Widerherstellung aller Dateiattribute. Vollsicherung darf ruhig ein paar Stunden brauchen. Eine Diffsicherung sollte in der Regel in spätestens 15 Minuten durch sein, sonst benutzt das eh keiner. Hab ich noch was vergessen? Bestimmt. Andy
|
haraldkl
Anmeldungsdatum: 21. Juli 2005
Beiträge: 1903
Wohnort: Würselen
|
Hi, für die wichtigen Sachen verwende ich SCM, damit auch die Historie erhalten bleibt. 😉 Das ganze lässt sich dann noch hübsch mit dar auf Wechseldatenträger sichern. (Ab und zu ... ließe sich mit SaraB auch automatisieren, bin aber zu faul. 😳 )
|