PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datensicherung - wie anstellen?



Schlüpfknoten
30.05.07, 08:15
Hi,

ich habe mir folgendes gedacht:

- ich baue mir ein ShellScript (oder kann man über ein ShellScript ein Java Progrämmchen starten?)
- das Script oder Java-Programm prüft alle paar Minuten, ob meine USB-Platte eingehängt ist
- wenn ja, prüft es welche Dateien verändert worden sind und gleicht diese dann ab

Soviel dazu. Man steckt also seine USB-Platte ein und nach ein paar Minuten werden die Daten automatisch abgeglichen - klingt schonmal gut :)
Das wäre perfekt für mich - denn ich arbeite an einem normalen PC und an einem Notebook. Somit hätte ich auf beiden Maschinen immer dieselben Arbeitsdaten.

Nun zu meinen Newbee-Fragen:
- lässt sich das alles per ShellScript steuern oder kann man wie schon gesagt ein JavaProgramm aufrufen, das das für einen erledigt?
- was ist, wenn ich (wie in meinem Fall) 2 USB-Platten habe? Woher soll das System wissen, welche Platte welche ist? Eine Art "Flag" in Form von einer Datei auf die Platte setzen?

Danke schonmal für eure Anregungen

drunkenPenguin
30.05.07, 09:00
Du kannst die Platten labeln und dann ueberpruefen, welches Label die Platte hat.
Zur Sicherung wuerde ich Dir rsnapshot nahelegen. Das ist ein Perlskript, dem man auch eine andere Konfigurationsdatei uebergeben kann.
Nur verstehe ich nicht ganz, ob Du die Daten jetzt sichern oder abgleichen moechtest. Das sind naemlich 2 unterschiedliche Dinge.

Schlüpfknoten
30.05.07, 09:15
Mit Abgleich meine ich eine Synchronisation, also ein Abbild meiner Daten auf der USB-Platte.

Ich ändere eine Datei -> Datei wird auf USB kopiert
Ich lösche eine Datei -> Datei wird auf USB gelöscht
Ich erstelle eine Datei -> Datei wird auf USB kopiert

SO kann ich an meinem Laptop arbeiten, die Platte anstecken, nach Hause kommen, die Platte an meinen normalen Rechner anschließen und schon habe ich alle geänderten / neuen Daten auf meinem normalen PC auch zur Verfügung, als hätte ich an diesem gearbeitet

marce
30.05.07, 09:17
Shellscript mit rsync...

Los_Andros
30.05.07, 09:22
rsync oder unison. Das ganze verbinden mit hotplug, dann sollte es einfacher gehen, ist event gesteuert und Du musst nicht alle xyz Minuten prüfen ob ne Platte am USB hängt oder nicht

drunkenPenguin
30.05.07, 09:29
Wobei ich von unison wirklich abraten wuerde.
Wenn die Daten auf der Festplatte komplett geloescht werden und das Skript dann noch einmal laeuft bzw. unison aufgerufen wird, dann war es das mit den Daten. Hab ich persoenlich schon ganz schlechte Erfahrungen damit gemacht.
Dann lieber rsync.

Schlüpfknoten
30.05.07, 09:37
Hm...ok, ich glaube ich werde mich mal in rsync einlesen...

Danke :)

Los_Andros
30.05.07, 09:53
nachdem ich nicht in ein anderes Forum verlinken will, probier doch das mal:

www.google.de

Dann das eingeben:
rsync hal backup

Dann Enter und die beiden ersten Treffer anschauen

Schlüpfknoten
30.05.07, 10:30
Nicht schon wieder patzig werden oder genervt reagieren wollen!

Ich wollte was eigenes machen bzw. allgemein nachfragen was es denn so gibt, wer womit gute Erfahrung hat und vor allem: was meinen Anforderungen gerecht wird.
Heißt: ich hatte bisher keine Möglichkeit genau nach "rsync" bei google zu suchen!
Doch genau das hätte ich jetzt dann getan - siehe meine Aussage "ich werde mich mal in rsync einlesen".

Es ist schon schwer genug als Linuxneuling sich zurecht zu finden, man muss es einem nicht noch schwerer machen wenn man immer so hingestellt wird als hätte man nicht gesucht oder unnütze Fragen stellt.

Falls ich dich falsch verstanden habe, tut es mir leid - ich habe bis heute Nacht um 4 Suse 10.2 installiert ;)

waxolunist
30.05.07, 11:25
Für diese Aufgabe würde ich rsnapshot empfehlen.

Dann hast du auch gleich eine History dabei und könntest alte Daten rekonstruieren.

Das funktioniert bei mir bestens und scheint mir geeigneter für deine Aufgabe zu sein.

Rsnapshot basiert auf rsync.

MiGo
30.05.07, 18:46
- das Script oder Java-Programm prüft alle paar Minuten, ob meine USB-Platte eingehängt ist
Wie vollkommen unnötig :)

udev kann beim Einstecken eines Gerätes ein passendes Script für dich starten - so mache ich meine Backups auch. Einfach Platte anschalten, warten und wieder ausschalten :)

Los_Andros
30.05.07, 22:18
Nicht schon wieder patzig werden oder genervt reagieren wollen!

Ich wollte was eigenes machen bzw. allgemein nachfragen was es denn so gibt, wer womit gute Erfahrung hat und vor allem: was meinen Anforderungen gerecht wird.
Heißt: ich hatte bisher keine Möglichkeit genau nach "rsync" bei google zu suchen!
Doch genau das hätte ich jetzt dann getan - siehe meine Aussage "ich werde mich mal in rsync einlesen".

Es ist schon schwer genug als Linuxneuling sich zurecht zu finden, man muss es einem nicht noch schwerer machen wenn man immer so hingestellt wird als hätte man nicht gesucht oder unnütze Fragen stellt.

Falls ich dich falsch verstanden habe, tut es mir leid - ich habe bis heute Nacht um 4 Suse 10.2 installiert ;)
sollte nicht patzig sein, wollte nur nich in ein anderes Forum verlinken, passt schon

Schlüpfknoten
31.05.07, 08:53
Ja Moment mal - was mir grade einfällt: ich will ja nicht nur ein Backup machen!

Hier ungefähr die Logik des Ganzen:

- ich ändere auf meinem Notebook etwas
- ich stecke die USB-Platte ans Notebook
- es wird erkannt "aha, da gibts Dateien, die neuer sind als auf meiner Platte"
- die Daten werden vom Notebook auf die USB-Platte gezogen

...

- ich gehe zu meinem normalen PC und stecke die USB-Platte an
- es wird erkannt "aha, da gibts neuere Dateien auf der USB-Platte als auf mir selbst"
- er zieht sich die neuen Dateien von der USB-Platte auf seine eigene Platte

Das geht ja mit rSync gar nicht :(

Ich will immer einen Abgleich zwischen Notebook und PC haben - und es im gleichen Sinne als Backup nutzen können, da es im Endeffekt nichts anderes ist :)

Der nächste Vorteil ist, dass wenn ich mal einen neuen Rechner habe, den nur installieren muss und die Platte anstecken kann - schon habe ich all meine Arbeitsdaten auf dem Rechner :)

marce
31.05.07, 08:57
warum sollte das mit rsync nicht gehen?

Problematisch wird es erst dann, wenn Du auf beiden PCs Daten änderst und dann entscheiden musst, welches die richtige Version ist oder evtl. sogar mergen musst...

Schlüpfknoten
31.05.07, 09:22
Na kann ich das rSync wirklich auch einstellen dass es schaut ob auf der Festplatte ältere Daten sind als auf der USB-Platte, sodass er dann die Daten von der USB-Platte auf die normale Festplatte zieht?
Und später dann wirklich "andersrum" (Änderung auf Festplatte -> schreiben auf USB)?

Ich habe dazu nichts konkretes gelsen...

Schlüpfknoten
31.05.07, 10:44
http://www.linux-club.de/faq/Rsync

siehe hier^^

Zitat: "ist ein Netzwerkprotokoll, welches unter GPL steht. Das Programm ist für Backups bestens geeignet (Kopien von A nach B), aber eine Sychronisation von den Daten findet nicht statt. Werden auf B Daten geändert, so können diese nicht abgegeglichen werden."

Also, ist doch gar nicht möglich mit rSync! Oder hab ic hdas falsch verstanden? Die Daten auf B (also meiner USB-Platte) werden ja durch den 2ten PC von mir geändert! Wenn ich die Platte dann an A anhänge, zieht sich dieser ja nicht die Änderungen!

Also - wat nu?

Los_Andros
31.05.07, 10:49
naja, schau mal unison an, also ich habe damit schon gute Erfahrungen gemacht.
Wenn Du aber die Platte platt machst und dann anschließt, dann wird alles auf Deiner lokalen Platte auch gelöscht.
Ist halt eine Synchronisation

marce
31.05.07, 11:10
die Logik, was von wo nach wo zu synchen ist muss natürlich entsprechend implementiert werden - aber prinzipiell ist die Richtung egal.

Also:
Anstecken an NB: USB -> NB
vor Abziehen vom NB: NB -> USB
Anstecken an PC: USB -> PC
Abziehen vom PC: PC -> USB

Es geht nur darum zu definieren, welches das führende System / die Referenz ist - und dass soll ja für jeden Puter die USB-HD sein...

Schlüpfknoten
31.05.07, 14:07
unison habe ich mir schon angeschaut, allerdings steht hier auch dabei, dass unison es nicht kapiert wenn es 2 Versionen von der gleichen Datei gibt (also ein Update) ....leider nicht so mein Fall :(

Hmrm...ansich könnte ich mir in Java ein Progrämmchen selber schreiben - hat man hier guten Zugriff auf die USB-Platte? Über /dev/sda1 dann oder wie?

marce
31.05.07, 15:57
evtl. könntest Du auch darüber nachdenken, das alles per Subversion zu realisieren...