View previous topic :: View next topic |
Author |
Message |
Sourcecode Guru
Joined: 25 Apr 2005 Posts: 392 Location: Germany, Kerpen in sew of Cologne
|
Posted: Mon Jul 02, 2007 12:53 pm Post subject: Effektives automatisches Backup mit Datum (auf Basis von Sta |
|
|
Die Idee hinter meinem Verfahren war ganz einfach die das ich verschiedene Backup Strukturen habe um ein Backup Unterschiedlich zu handhaben ohne gleich ein komplettes System rüberzuspielen o.ä, und es sollte natürlich Effektiv sein, das Stage4 auf gentoo wiki hat super Ansätze, war mir aber zu Simpel und zu Starr, also habe ich mir auf dieser Basis eine Mehrfachsicherung ausgedacht die man effektiver handhaben kann.
Da ich die Backup Files so von Cronjob nicht löschen lasse, sammelt sich da mit jedem Tag eine neue File und so hab ich eine große Auswahl (passiert ja leider sehr oft das man üble Fehler erst viel zu spät findet, also wollte ich auch ein Backup was sich über eine lange Zeit zurückverfolgen lässt).
Meinen Portage Tree hab ich ganz simpel per Simlink auf die Extra Partition geleitet, so brauche ich den nicht noch Extra sichern bei nem Backup und kann direkt von dort die Packete mit den Versionen beziehen wie sie beim Stand des Systemzerfalls schon drauf waren, so kann ich also auch direkt die bis dahin verwendeten Configs direkt rüberkopieren (sofern das System damit nicht geschreddert wurde )
In meinem Falle lasse ich alles nach:
/serverhdd/backup/portage (hier liegen die ganzen Config Files Extra von /etc/portage & das Worldfile)
/serverhdd/backup/portage/tree (hierhin ist der Portage-Tree ausgelagert)
/serverhdd/backup/system (hier liegt sowohl jeweils ein .tar vom ganzen /etc Baum und Co, und nochmal eine File mit einer Sicherung vom ganzen System)
Wieoft eine neue File mit Datum und Co erstellt wird hängt vom Cronjob ab.
Hier der Cronjob: Code: | ######## File Backup & misc ########
0 0 1 1-12 * sh /serverhdd/backup/system.sh
1 12 * * * sh /serverhdd/backup/config.sh
35 18 * * * sh /serverhdd/backup/portage.sh
|
Ich lasse die files aus /etc/portage und das Worldfile täglich sichern, genauso wie das Komplette Config Backup.
Ein volles System Backup lasse ich 1mal im Monat machen, jede File ist mit dem Datum an dem es erstellt wurde im Filename bezeichnet so hat man direkt einen guten Überblick z.b sieht die Semantik der Files so aus:
/serverhdd/backup/portage/etc-portage-2007-07-01.tbz2
/serverhdd/backup/portage/world-2007-07-01.tbz2
/serverhdd/backup/system/config-backup-2007-07-01.tbz2
/serverhdd/backup/system/System-backup-2007-07-01.tbz2
Wer natürlich nicht soviel Space hat kann auch das komplette System Backup weglassen, dann sind das keine 300MB dauersicherung wie man da macht.
Durch die einzelnen Sicherungen habe ich einen großen Handlungsspielraum WAS ich genau wiederherstellen will, zb.b das komplette System? Oder dorch nur das Worldfile? oder nur die Configs?
Als ich damals den Stage4 Artikel auf Gentoo Wiki gelesen habe, war er mir zu eingeschränkt in seinem Spielraum und nicht effektiv genug, so habe ich das nun gelöst.
Dazu eben der dahin ausgelagerte Portage Tree der dafür sorgt das das neue System damit installiert wird und so auf demselben Versionsstand ist wie das System von dem die Backups kommen (sofern es das letzte Backup ist was man nutzt).
Auf dieser Basis kann man natürlich noch zich Möglichkeiten einbauen wie man sowas gerne haben würde
Hier nun noch die Bash Scripte die mit dem oben beschriebenem Cronjob aufgerufen werden, beachtet bitte das die ganzen --exclude lines alle hintereinander stehen müssen sie stehen hier nur alle untereinander der besseren Formatierung wegen.
config.sh
Code: | #!/bin/sh
# Aktuelles Datum fuer Dateinamen setzen
DATUM=`/bin/date '+%Y-%m-%d'`
/bin/tar -cvjpf /serverhdd/backup/system/config-backup-$DATUM.tbz2 / --exclude=bin --exclude=dev --exclude=lost+found --exclude=home/sourcecode/.aMule/Temp --exclude=opt --exclude=root --exclude=serverhdd --exclude=tmp --exclude=var --exclude=lib --exclude=mnt --exclude=proc --exclude=sbin --exclude=sys --exclude=usr |
portage.sh
Code: | #!/bin/sh
# Aktuelles Datum fuer Dateinamen setzen
DATUM=`/bin/date '+%Y-%m-%d'`
/bin/tar -cvjpf /serverhdd/backup/portage/etc-portage-$DATUM.tbz2 /etc/portage
#copy worldfile
/bin/cp /var/lib/portage/world /serverhdd/backup/portage/world-$DATUM |
system.sh
Code: | #!/bin/sh
# Aktuelles Datum & Zeit fuer Dateinamen setzen
DATUM=`/bin/date '+%Y-%m-%d'`
/bin/tar -cvjpf /serverhdd/backup/system/system-backup-$DATUM.tbz2 / --exclude=dev --exclude=sys --exclude=proc --exclude=var/tmp --exclude=usr/portage/distfiles --exclude=usr/portage/packages --exclude=serverhdd |
MFG
Christian _________________ Es gibt bloss eins, was wichtig ist: dass man sterben muss.
Suicide is man's way of telling God, "You can't fire me - I quit."
no one gets out here alive....
|
|
Back to top |
|
|
EOF Guru
Joined: 02 Jul 2003 Posts: 345 Location: Usingen
|
Posted: Wed Jul 04, 2007 1:29 pm Post subject: |
|
|
Geht es nicht eleganter mit rsync? Da lässt sich auch einfach ein ssh tunnel einbauen und blitzschnell ist es auch noch. |
|
Back to top |
|
|
Sourcecode Guru
Joined: 25 Apr 2005 Posts: 392 Location: Germany, Kerpen in sew of Cologne
|
Posted: Thu Jul 05, 2007 1:17 am Post subject: |
|
|
EOF wrote: | Geht es nicht eleganter mit rsync? Da lässt sich auch einfach ein ssh tunnel einbauen und blitzschnell ist es auch noch. |
Meine Anleitung bezieht sich auf einen Lokalen Server mit Lokalen Platten, da brauchst du nicht extra was über SSH zu jagen.
Für Remote Server habe ich die Anleitung weder gebaut noch erdacht, möglich ist es aber, probier es aus. _________________ Es gibt bloss eins, was wichtig ist: dass man sterben muss.
Suicide is man's way of telling God, "You can't fire me - I quit."
no one gets out here alive....
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|