thunder-storm
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, ich bin ein totaler Anfänger, was Scripte unter Linux betrifft - ich kenne mich derzeit nur mit php-Scripten und Batchfiles (DOS/WIN) aus. Aber ich denke mal, das sowas unter Linux auch möglich ist, hier brauche ich nur Eure Hilfe, da ich hierzu nichts finden konnte (oder vielleicht falsch gesucht habe 😳 ): Ich hatte mir unter Windows-XP eine kleine Batch-Datei gemacht, welche mir alle veränderten Daten (Archiv-Attribut) vom Laptop übers Netzwerk auf unseren PC kopiert hat. Eine ähnliche Script-Lösung suche ich nun auch für Kubuntu. Unter Windows XP war es einfach, da habe ich es einfach so gelöst: xcopy "D:\Daten\*.*" \\server-pc\Sicherung\BACKUP-Laptop\ /M /S /I /F /H /R /K /Y Wer die FAT/NTFS-Dateisysteme kennt, weiss das jede veränderte Datei mit einem Archiv-Attribut "a" versehen wird. Der mit den o.a. Parametern versehene xcopy-Befehl kopiert alle Dateien, welche das Attribut "a" besitzen, auf den PC und entfernt das Attribut. Das hatte den Vorteil, das nur veränderte Daten gesichert werden. Die Daten auf dem PC werden dann in regelmäßigen Abständen auf CD gebrannt und archiviert. Ich habe nun unter Kubuntu folgendes vor: 1. Das Script soll alle seit der letzten Sicherung veränderten Dateien erfassen und incl. Verzeichnisstruktur übers Netzwerk auf den PC kopieren. Evtl. schon vorhandene Daten können hierbei ruhig überschrieben werden. 2. Klasse wäre es, wenn jede einzelne Datei hierbei auch gezippt wird und als z.B. Textdokument.txt.gz abgelegt wird, ist aber kein unbedingtes Muss. Könnt Ihr mir da helfen? Vielen Dank schonmal an Euch alle. Edit: Samba läuft natürlich schon und ich kann auch auf den PC zugreifen.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17625
Wohnort: Berlin
|
Ich weiß nicht, ob rsync auch für fat/ntfs-Dateisysteme funktioniert - hier ist ein kleines Wiki: rsync Ansonsten schwebt mir entweder tar vor, mit -u (update) - keine Ahnung wie schnell es ist. Oder find.
find /mnt/d/Daten -newer /Sicherung/Backup-Laptop/backup.tar.bz2 ... Aus Platzgründen ist es sinnvoller, alle Dateien gemeinsam zu zippen - Geschwindigkeitsmäßig ist - v.a. beim selektiven Auspacken - das Packen in einzelne Dateien besser. Bei einem Backup ist man meist mehr an einem Gesamtauspacken interessiert.
Dann gibt es noch diverse Backupsoftware, wie sbackup - was davon empfehlenswert ist weiß ich nicht.
|
Lux
Anmeldungsdatum: 10. November 2005
Beiträge: 5152
Wohnort: Grüt (Gossau ZH), Schweiz
|
thunder-storm hat geschrieben: 1. Das Script soll alle seit der letzten Sicherung veränderten Dateien erfassen und incl. Verzeichnisstruktur übers Netzwerk auf den PC kopieren. Evtl. schon vorhandene Daten können hierbei ruhig überschrieben werden.
Das ist mit Skripting machbar. thunder-storm hat geschrieben: 2. Klasse wäre es, wenn jede einzelne Datei hierbei auch gezippt wird und als z.B. Textdokument.txt.gz abgelegt wird, ist aber kein unbedingtes Muss.
Das ist ebenfalls machbar. Die Frage ist, ob Du das selber zusammenbauen möchtest oder ob Du lieber auf fertige Tools wie rsync oder Unison zurückgreifen willst? Gruß Dirk
|
Sid_Burn
Anmeldungsdatum: 23. Oktober 2004
Beiträge: 2159
|
Oder warum benutzt du nicht gleich ein richtiges Backup Programm. Bacula kann ich dir empfehlen, ist Open Source, und auch in den Repositorys bereits enthalten. Den Client gibt es für Linux, Windows und Auch Solaris und weitere Unixe. Um verschiedene Revisionen kümmert es sich auch etc. Ist zwar sicherlich erstmal etwas schwerer einzurichten, allerdings wird es wohl weniger Zeit Kosten, dein komplettes Backup programm zu schreiben, das genau das gleiche macht.
|
rhi
Anmeldungsdatum: 22. Februar 2006
Beiträge: 296
|
backup-manager hat diverse Uploadmethoden (FTP, SSH, rsync) und läuft bei mir hervorragend
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, vielen Dank für Eure Vorschläge, ich schaue sie mir im Detail an, habe aber eine kleine Zwischenfrage hierzu. Ich möchte ein tar-Archiv erstellen, welches mein gesamtes Home-Verzeichnis ab dem Datum 13.10.2006 in ein tar.gz-Archiv auf unserem PC sichert. Die notwendige Freigabe des PC's (XP) habe an /mnt angehängt (smbfs). Zur Sicherung habe ich nach der tar-Manpage folgenden Befehl zusammengestellt: sudo tar -N 2006-10-13 -cvfz /mnt/Sicherung/backup-2006-10-19.tgz /home/ Irgendwas mache ich da falsch - denn diese Zusammenstellung funktioniert nicht. Was habe ich falschgemacht?
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17625
Wohnort: Berlin
|
Ich glaube -cvzf statt -cvfz - nach dem f soll auch sofort der Filename kommen. Hab's aber nicht geprüft. Mit -cjf statt -czf packt er übrigens mit bz2 statt bzip, welches besser ist. Dann wäre als Dateiname aber backup-2006-10-19.tar.bz2 zu wählen. Besser in welchem Sinne? Gute Frage!
|
hackepeter
Anmeldungsdatum: 8. Januar 2006
Beiträge: 185
Wohnort: München
|
thunder-storm hat geschrieben: Hallo zusammen, ... Ich hatte mir unter Windows-XP eine kleine Batch-Datei gemacht, welche mir alle veränderten Daten (Archiv-Attribut) vom Laptop übers Netzwerk auf unseren PC kopiert hat. Eine ähnliche Script-Lösung suche ich nun auch für Kubuntu. Unter Windows XP war es einfach, da habe ich es einfach so gelöst: ...
Schaue dir mal rdiff-backup an, das ist so ein Script. Vielleicht tuts das ja für deine Zwecke: http://www.nongnu.org/rdiff-backup/ Ist in den Ubuntu-Repositories enthalten, also nur sudo aptitude install rdiff-backup entippen. Gruß HP
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo nochmal, ich möchte noch einmal diesen Thread aufgreifen - ich bin in dieser Sache immer noch nicht weitergekommen. Ich habe mir die verschiedenen Backup-Lösungen einmal angeschaut, aber für meinen Fall ist da so richtig nichts dabei. Rsync gefiel mir am besten, nur ist es leider für meinen Einsatzzweck nicht einsetzbar. Was möchte ich machen? Ich erstelle regelmäßig (ca. alle 1-2 Monate) eine vollständige Datensicherung (nur Home) von meinem Linux-PC und von den Daten des XP-PC's meiner Frau auf DVD's. Daten, welche sich in der Zwischenzeit verändern, bzw. neu hinzukommen, möchte ich auf eine CD-R/CD-RW sichern. Eine andere Sicherungsmöglichkeit (wie externe Festplatte etc.) kann / möchte ich erst einmal nicht nutzen - die DVD's/CD's kommen in einen Schrank, wo sie für den Notfall (Datenverluste) aufbewahrt werden. Die komplette Datensicherung erstelle ich ganz einfach mittels K3B (Brennprogramm), indem ich die zu sichernden Daten einfach auf DVD's brenne - unkomprimiert, für schnellere Wiederherstellung. Es muss möglich sein, einzelne Dateien zu suchen und sie auch auf dem Datenträger mal zu öffnen, ohne erst ein Archiv auspacken zu müssen. Jetzt kommt mein Problem: Die Daten, welche sich zwischen den regelmäßigen Gesamtsicherungen ändern. Momentan suche ich sie per Hand zusammen. Beispiel: Die letzte Hauptsicherung war am 15.01.2007. Also suche ich alle Dateien zusammen, welche sich ab dem 15.01. bis heute verändert haben oder neu hinzugekommen sind. Das ist extrem mühsehlig - und mit sehr hoher Fehlerquote verbunden. Gibt es denn keine Möglichkeit, das zu "automatisieren""? Sprich: "Suche mir alle Dateien heraus, welche sich seit dem 15.01.2007 verändert haben / neu hinzugekommen sind und kopiere sie mir incl. deren Verzeichnisstruktur (WO lag die Datei mal?) in ein bestimmtes Verzeichnis". Bitte helft mir, das muss doch möglich sein. Hierfür bedanke ich mich schon einmal.
|
Kopfgeldjaeger
Anmeldungsdatum: 24. Dezember 2006
Beiträge: 1168
|
Das geht super einfach mit tar, klappt bei mir einwandffrei und hab auch schonmal das BackUp zurückgespielt ☺ sudo tar czvpf /media/smbfs/BackUps/backup-date '+%d-%B-%Y-%H-%M' .tar.gz -g /media/smbfs/BackUps/backupTimestamp --directory /home --exclude=./nicolai/.Trash . Gaaang einfach ☺) Und zur Sicherheit gang genau mein Befehl (wenn backupTimestamp existiert isses automatisch nen inkrementelles Backup! Außerdem mach ich Backups von allem meistens) sudo tar czvpf /media/hdext/Nico/BackUps/backup-date '+%d-%B-%Y-%H-%M' .tar.gz -g /media/hdext/Nico/BackUps/backupTimestamp --directory / --exclude=./dev --exclude=./media --exclude=./mnt --exclude=./proc --exclude=./sys --exclude=./tmp --exclude=./home/nicolai/.Trash --exclude=./cdrom --exclude=./home/nicolai/mylivecd --exclude=./var/tmp --exclude=./chroot --exclude=./home/.Trash-root .
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hui, das ging ja fix ☺ Vielen Dank für Deine Antwort, aber leider ist das nicht ganz das, was ich suche - ich suche eine Möglichkeit, ohne die Verwendung von komprimierten Archiven. Tar erstellt immer eine einzelne (komprimierte) Datei - wie ich schon geschrieben habe, benötige ich diese Dateien einzeln incl. ihrer Verzeichnisstruktur, damit ich später auf der CD suchen und mir die eine oder andere Datei auch ansehen kann. Unter anderem ist dies auch für meine CD-Katalogisierungssoftware wichtig, das die Dateien nicht in einem Archiv vorliegen - ansonsten müsste ich jedes Tar-Archiv auf zig CD's öffnen, um nach einer bestimmten Datei zu recherchieren. Also genau das: thunder-storm hat geschrieben: Gibt es denn keine Möglichkeit, das zu "automatisieren""? Sprich: "Suche mir alle Dateien heraus, welche sich seit dem 15.01.2007 verändert haben / neu hinzugekommen sind und kopiere sie mir incl. deren Verzeichnisstruktur (WO lag die Datei mal?) in ein bestimmtes Verzeichnis".
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17625
Wohnort: Berlin
|
find /home/thunder-storm -newer REFERENZDATEI -exec cp {} /pfad/to/archiv \;
touch REFERENZDATEI Wenn Du aber während der Ausführung des Kommandos Dateien änderst, dann kann es eine kl. Lücke geben, in der die Dateien geändert, aber nicht gesichert werden.
touch /home/thunder-storm/.REFERENZDATEI.tmp
find /home/thunder-storm -newer /home/thunder-storm/.REFERENZDATEI -exec cp {} /pfad/to/archiv \;
mv /home/thunder-storm/.REFERENZDATEI.tmp /home/thunder-storm/.REFERENZDATEI würde das lösen, mit dem umgekehrten Effekt: die Dateien, die während des Suchens geändert werden, werden u.U. doppelt gesichert.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17625
Wohnort: Berlin
|
user unknown hat geschrieben: find /home/thunder-storm -newer REFERENZDATEI -exec cp {} /pfad/to/archiv \;
touch REFERENZDATEI Wenn Du aber während der Ausführung des Kommandos Dateien änderst, dann kann es eine kl. Lücke geben, in der die Dateien geändert, aber nicht gesichert werden.
touch /home/thunder-storm/.REFERENZDATEI.tmp
find /home/thunder-storm -newer /home/thunder-storm/.REFERENZDATEI -exec cp {} /pfad/to/archiv \;
mv /home/thunder-storm/.REFERENZDATEI.tmp /home/thunder-storm/.REFERENZDATEI würde das lösen, mit dem umgekehrten Effekt: die Dateien, die während des Suchens geändert werden, werden u.U. doppelt gesichert.
Beim ersten Lauf suchst Du eine Referenzdatei, die alt genug, aber nicht zu alt ist.
|
Chr._Schulze
Anmeldungsdatum: 8. September 2006
Beiträge: 80
Wohnort: Holm S-H
|
Hallo thunder-storm, meine Daten der $HOMES sichere ich als root auf eine andere Platte mit: WER="user1 usre2 ......" ; export WER
HOMEDVZ=/home ; export HOMEDVZ
MEDIA=/media/HDD-TARGA/home-save ; export MEDIA
#############################
cd $MEDIA
for i in $WER
do
cp -p -r -u $HOMEDVZ/$i .
done Dabei werden nur neuere und geänderte Daten gesichert, dauert beim ersten mal etwas länger, ist später aber performant. Zudem kannst du gezielt auf einzelne Dateien und DVZ auf dem Sicherungsmedium zurückgreifen. Benutzerrechte und Zeitstempel bleiben auch erhalten. Gruß Christian
|
thunder-storm
(Themenstarter)
Anmeldungsdatum: 27. September 2006
Beiträge: 270
|
Hallo zusammen, noch einmal vielen vielen herzlichen Dank für Eure tollen Vorschläge, endlich habe ich eine Lösung, die genauso funktioniert, wie gewünscht! Ihr seid einfach klasse! Ich habe den cp-Befehl noch mit zwei Parametern ergänzt, damit auch die Verzeichnisstruktur beibehalten wird: find /home/thunder-storm -newer /home/thunder-storm/referenzdatei -exec cp -d --parents {} /path/to/backup/dir/ \;
touch /home/thunder-storm/referenzdatei Nun das ganze noch als bash-Script abgelegt - und die Sicherung funktioniert perfekt! Ich danke Euch, Ubuntuusers ist einfach spitze!
|