Posted by Daniel
on März 28, 2007
Als Administrator, im Sinne von “für die Daten Verantwortlicher”, schläft man im Allgemeinen schlechter als der normale DAU. Nachts schweißgebadet aufwachen, wieder vom großen Daten-GAU geträumt… das muss nicht sein!
Ich will nun ein wenig dazu beitragen, dass all die Adminis da draußen zumindest nicht wegen der Mysql Datenbanken schlecht schlafen müssen und sogar mit “Welche Version willst du denn” reagieren können!
Die Lösung kommt wie so oft in Form eines Sourceforge Projektes, AutoMySQLBackup sichert so oft und so lange man will alle Datenbanken sie man will.
Im meinem Fall will ich alle Datenbanken sichern.
Der User backup bekommt Leserechte auf alle Datenbanken. Dies probiere ich im zweiten Schritt gleich aus.
mysql -u root -p -e “GRANT SELECT, LOCK TABLES ON *.* TO ‘backup’@'localhost’ IDENTIFIED BY ‘geheimesbackuppw’;”
mysqlshow –user=backup –password=geheimesbackuppw
Da AutoMySQLBackup mit dieser Ausgabe noch wenig anfangen kann filter ich die gerade, wenngleich ein wenig “quick and dirty” aber bei mir läuft (Verbesserungen gerne in den Kommentaren), und trage in das Skript ein (an der richtigen Stelle natürlich):
DBNAMES=$(mysqlshow –user=backup –password=geheimesbackuppw | sed ’s/^|[ \t]*//;s/[ \t]*|$//;’ | sed ‘$!N;s/\n/ /’ | sed ‘$!N;s/\n/ /’ | sed ‘$!N;s/\n/ /’ | sed ‘$!N;s/\n/ /’ | sed ‘$!N;s/\n/ /’ | sed ‘$!N;s/\n/ /’ | sed ’s/+-*-+ Databases +-*-+ //;s/ +-*-+//;’)
Fertig ist die (für mich) perfekte Mysql-Backup Lösung, gute Nacht.
Posted by Daniel
on März 17, 2007
Da ich gerade mal wieder einen neuen Server aufsetze will ich nun auch mal endlich was zu ftplicity schreiben:
Was ftplicity ist sollte den Stammlesern (Hallo Andi) bekannt sein (siehe hier oder hier), wies geht folgt jetzt.
Zunächst braucht man librsync und duplicity
emerge -va duplicity
und ftplicity:
wget ftp://ftp.heise.de/pub/ct/listings/0613-216.tar.gz
tar -xvzf 0613-216.tar.gz
cd ftplicity-1.1.1/
cp ftplicity /usr/local/bin
Einen GnuPG Key benötigen wir auch noch, ich erstelle einen Key extra fürs Backup:
gpg –gen-key
Und dann kanns auch schon losgehen.
ftplicity backup
Nach dem ersten Start werden unter /root/.ftplicity ein paar selbsterklärende Dateien erstellt. Dort muss man z.B. noch den ftp Server einstellen.
Wiederherstellung mit
ftplicity fetch var/www /root/varwwwwiederherstellung 4D
Cronjob: In die Crontab der Wahl muss noch folgendes eingetragen werden. Der zweite Befehl löscht alte Backups monatlich.
00 2 * * * root /usr/local/bin/ftplicity backup
00 4 1 * * root /usr/local/bin/ftplicity full && /usr/local/bin/ftplicity purge –force
Edit: Hab grad noch nen Artikel gefunden der meinem sehr ähnelt, wenngleich ich ihn eben erst gefunden habe… blog.splash.de hat auch ein schönes howto geschrieben.
Posted by Daniel
on Februar 25, 2007
Auf der Suche nach einer flexiblen, freien, unkomplizierten Backuplösung bin ich schon vor längerer Zeit auf rdiff-backup gestoßen. Leider gibts dieses Programm nur für Linux, deshalb hab ich mich nun mal daran gemacht, es unter Windows bzw. cygwin zum Laufen zu bringen.
Wer diese Anleitung befolgt sollte wissen was er tut oder zumindest keine Angst davor haben, alle seine Daten zu verlieren. Es gibt von mir keine Funktionsgarantie. Diese Anleitung funktioniert für mich und sonst kann ich nichts garantieren.
Also: cygwin setup.exe herunterladen und cygwin unter c:\cygwin installieren.
Für rdiff-backup im speziellen brauchen wir: Devel/{autoconf,automake,binutils,gcc,make,patchutils} Interpreters/python Web/wget
Darüber hinaus müssen wir librsync und rdiff-backup selbst kompillieren.
## librsync installieren:
wget http://switch.dl.sourceforge.net/sourceforge/librsync/librsync-0.9.7.tar.gz
tar -xzvf librsync-0.9.7.tar.gz
cd librsync-0.9.7
./configure –prefix=/usr –bindir=/bin –libdir=/lib
make all
make install
## rdiff-backup installieren:
wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.1.5.tar.gz
tar -zxf rdiff-backup-1.1.5.tar.gz
cd rdiff-backup-1.1.5/rdiff_backup/
# sehr einfachen patch installieren
wget http://www.17od.com/files/rpath-fsync.patch
patch < rpath-fsync.patch
rm rpath-fsync.patch
cd ..
python setup.py install
FERTIG!
rdiff-backup sollte jetzt verfügbar sein. Zur Anwendung erzähl ich ein anderes mal was…
Zum Schluss möchte ich noch 17od.com und katastrophes.net danken, da ich eigentlich nur kopiert hab…
Update: Seit Verion 1.1.12 ist der Patch laut Andrew Ferguson im July 2007 im FAQ nicht mehr notwendig.
Nach librsync heißt das konkret:
## rdiff-backup installieren:
wget http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.1.14.tar.gz
tar -zxf rdiff-backup-1.1.14.tar.gz
cd rdiff-backup-1.1.14
python setup.py install
Danke den Patchern.
Posted by Daniel
on Februar 10, 2007
Nur falls jemanden gibt, dem ich damit helfen kann (und wenn ich es irgendwann selbst bin…): “Read from remote host bla.blub.de: Connection reset by peer” muss nicht an der Verbindung liegen!
http://lists.samba.org/archive/rsync/2006-May/015603.html schreibt dazu: “There is a bug in rsync 2.6.8 causing this.”
Die Lösung des Problems: rsync-2.6.9.tar.gz nach /usr/local/bin, entpacken, ./configure (je nach bedarf anpassen), make, make install. Ich hab in meinem Fall /usr/bin/rsync umbenannt und mit nem Symlink auf die Datei in /usr/local/bin/ ersetzt aber man könnte auch direkt nach /usr/bin installieren, je nach Geschmack halt… -> geht wieder! So, jetzt kann mein rdiff-backup endlich ungestört (haha) Daten sichern…
Posted by Daniel
on November 18, 2006
Ich nutze seit einiger Zeit das c’t Skript namens rsyncbackup.vbs aus diesem Artikel.
Dieses funktioniert auch wunderbar, nur leider stört es mich, dass der aktuelle Stand immer erst nach einem Blick in das Backup-Verzeichnis verfügbar ist.
Problemlösung: eine schöne Anwendung für Hardlinks mit NTFS.
Theorie dazu: Hardlinks allgemein bei Wikipedia, Wieder Wikipedia aber NTFS, Explorer Erweiterung zur komfortablen Benutzung von NTFS Harslinks.
Tool der Wahl: Junction. Kommandozeilentool zum erstellen von Hardlinks. Der Aufruf erfolgt mit:
junction.exe linkname name
Praktischerweise für meine Anwendung werden bestehende Hardlinks auch enfach ohne Fehlermeldung überschrieben.
Junction hab ich vor allem deshalb genommen, weil ich keine Ahnung habe wie ich mit “fsutil hardlink create” Verzeichnisse linken kann. Hardlinks erkennt man übrigens daran, dass wenn man “dir” eingibt, oder erscheint. Der Unterschied zu Linux Hardlinks besteht zum Beispiel darin, dass WinXP Hardlinks nicht gelöscht werden können, solange darauf zugegriffen wird.
Die Lösung zu oben beschriebenem Problem ist jetzt auch schon nicht mehr spannend: An der richtigen Stelle muss Junction (Junction.exe muss im gleichen Verzeichnis wie rsyncbackup.vbs liegen) aufgerufen werden und den Hardlink anlegen, fertig. Eigentlich sollte ich nur ein wenig über Hardlinks reden.
Posted by Daniel
on Oktober 20, 2006
Seitdem ich diesen eigentlich nichtssagenden “Artikel” gepostet habe, landen jeden Tag ein paar Leute per Google auf meinem Blog. Dafür, dass es hier eigentlich garnicht so viel über ftplicity zu sehen gibt, möchte ich mich entschuldigen. Ich bin noch nicht dazu gekommen, einen Artikel, den ich für veröffentlichungswürdig halte, zu verfassen…
Umso besser, dass von heise selbst nun ein Artikel erschienen ist.
Heise Security über ftplicity und duplicity
Lesenswert und eine sehr gute Anleitung wie was funktioniert. Ich setzt ftplicity übrigens immer noch sehr erfolgreich ein.
Posted by Daniel
on August 24, 2006
Das Backup von Omschallom wird seit ich diesen Artikel gelesen habe mit Hilfe von ftplicity, einem Wrapper-Skript um duplicity, realisiert. Da 1blu eben nur einen ftp-Server zur Verfügung stellt ist Verschlüsslung unerlässlich, gnupg bietet sich an und letztes Argument: Man kann nicht alles selber schreiben, da der Tag ja nur 24h hat…
Kurz zusammengefasst: Das Skript funktioniert wunderbar, nicht nur im “Backupsystem steht, also Disaster spielen” Fall, sondern dank 1blu “durfte” es sich auch einmal in einem ernsten Fall beweisen. Für die großartige Arbeit von c’t und vor allem auch dem duplicity und rdiff-backup Team möchte ich mich an dieser Stelle im Namen der ganzen Omschallom-Community bedanken. Eine Anleitung zu dem Skript gibts auf Anfrage (Kommentar) oder wenn ich mal Lust habe was dazu zu schreiben.