Backupscript unter Linux

Vimes
Hm, ich könnte mein Backup-Script mal hier reinstellen, als Anregung für Dich.

Ist eigentlich ziemlich simpel, seit ich die zu sichernden Daten in eigene Dateien (als Listen) ausgelagert habe - läßt sich damit sehr schön warten.

Backup-Images brauche ich eigentlich eher nicht...

MfG
Vimes

Anm:
Das Thema hat sich aus diesem Thread entwickelt:
http://www.dedies-board.de/wbb2/thread.php?threadid=1839
Ausgeschnitten und neuen Thread eröffnet.

MobyDuck
MobyDuck
Zitat:
Hm, ich könnte mein Backup-Script mal hier reinstellen,

Gute Idee. Ich dachte bisher an eine ganz simple Geschichte, die mir /home irgendwo hin packt (falls nötig in 3,9 GB-Happen) und auf Nachfrage das letzte dort abgelegte Backup löscht. Also nix dolles, nur als Fingerübung für den ONLU, aber Anregungen sind natürlich immer gut. yes

Image braucht nur meine Frau für ihr Windows. Tritt bei mir mal ein GAU ein, dann habe ich in einer halben Stunde ein funktionierendes Grundsystem und nach noch ner Stunde motzen ist alles wieder heile. Da habe ich ne gewisse Routine. großes Grinsen
Vimes
Okay, mein Backup-Script kopiert nicht schlicht und ergreifend das gesamte Home-Verzeichnis - das ist Overkill. Es schnappt sich gezielt einzelne Dateien. Es wäre aber kein Problem, das entsprechend anzupassen, das ist gaaanz einfach. großes Grinsen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
#!/bin/bash
today1=$(date +%Y%m%d)
today2=$(date +%H%M)
cd /home/vimes
# Nur zur Sicherheit
mkdir /home/vimes/"archiv"$today1"_"$today2
# Erstellt einen Ordner mit Namen Archiv_Datum_Uhrzeit
cat archive_folders.lst |while read line; do tar -cjf ${line}$today1.tar.bz2 ${line}/; done
# Liest die Datei archive_folders.lst aus und packt die Ordner jeweils in eigene,
# bz2-gepackte Archive

cat archive_files.lst |while read line; do tar -cjf "files"$today1".tar.bz2" ${line}; done
# dasselbe wie oben für einzelne Dateien aus der Liste archives_files.lst

cat archive_specialfiles.lst |while read line; do cp -a ${line} /home/vimes/"archiv"$today1"_"$today2; done
# Und nochmal für spezielle Dateien, die nicht in /home liegen

cd /home/vimes
# Mir san paranoid, seit ich mir mal böse was zerschossen habe, weil ich im falschen
# Ordner war... 

cat archive_folders.lst |while read line; do cp -a ${line}$today1.tar.bz2 /home/vimes/"archiv"$today1"_"$today2; done
# Archive in den richtigen Ordner kopieren (zuerst die Ordner; dafür muß wieder
# die Liste archive_folders herhalten

cat archive_folders.lst |while read line; do rm ${line}$today1.tar.bz2; done
# Jetzt kann man die Archive löschen

cp -a "files"$today1".tar.bz2" /home/vimes/"archiv"$today1"_"$today2
# Kopieren des Archivs an Dateien

rm "files"$today1".tar.bz2"
# Löschen des Archivs

cp -a archive_files.lst /home/vimes/"archiv"$today1"_"$today2
cp -a archive_specialfiles.lst /home/vimes/"archiv"$today1"_"$today2
cp -a archive_folders.lst /home/vimes/"archiv"$today1"_"$today2
# Am Schluß werden auch die lst-Dateien rüberkopiert

echo "finished"
# Rückmeldung
exit 0
# Ein Shellscript sollte so enden


In der archive_folders.lst sieht das dann so aus:

folder1
folder2
folder3

Mehr steht da nicht drin.
Jetzt ist es natürlich einfach, da einfach nur /home reinzuschreiben, aber bitte mit dem vollständigen Pfad; und ich bin mir auch nicht sicher, ob das dann nicht besser /root machen sollte...

So. Ich muß jetzt noch mal kurz rüber - ich bin gerade mit centos hier... großes Grinsen

Edit: Uppps. Da war ein ganz gemeiner Fehler drin... zum Glück hatte ich ein Backup... Augen rollen

MfG
Vimes
MobyDuck
@ Vimes
Danke dir. Werde morgen erstmal diesen Thread teilen, falls es bis dahin niemand anderes macht. Bin jetzt zu müde.


Anm: Erledigt, siehe oben.
MobyDuck
Vimes
Danke.

Ne Anmerkung zum Script: Für den Archivordner wird als Anhang das Datum mit Uhrzeit (getrennt durch _) genommen, für die Dateien selbst aber nur das Datum. Denn man möchte ja eventuell mehrfach an einem Tag ein Backup fahren (geht mir zumindest so); mit der Uhrzeit als Unterscheidung ist das kein Problem, wenn man's nicht gerade in derselben Minute macht. Muß man ja nicht. Da die Daten direkt in den Archivordner wandern und dann die Archive auf der Platte gelöscht werden, ist es nicht notwendig, die Daten an sich ebenfalls mit der Uhrzeit zu benennen. Nach dem KISS-Prinzip nehme ich daher nur den Tag dafür...

Wenn Du nur /home sichern willst, sehe ich in einem Script allerdings keinen wirklichen Sinn. Es sei denn, Du möchtest ein inkrementelles bzw. differentielles Backup fahren. Das mach ich aber oben nicht, weil meine Archive im Schnitt ungefähr 10-20MB haben, das ist ja noch keine wirklich Belastung für meine 300GB Platte (extern) und CDs hab ich wie Sand am Meer. Dann lieber redundante Daten...

MfG
Vimes

MfG
Vimes