no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | adminstorieseinsyslogserverdasbackup [20120915 19:11] (aktuell) – angelegt Dirk Deimeke | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Ein Syslog Server, das Backup ====== | ||
+ | * Urspruenglicher Autor: Ramon Kukla | ||
+ | * Urspruengliches Datum: 09.12.2011 | ||
+ | |||
+ | Heute ein Folgebeitrag zum Artikel [[http:// | ||
+ | |||
+ | Warum ueberhaupt Backup und Rotation? | ||
+ | |||
+ | Die Logs die ich einsammel enthalten Details, die mir im Fall eines Problems oder Vorfalls helfen koennen benoetigte Informationen auf die Schnelle zentral zu sichten. Wenn das Ereignis, ueber das ich mich informieren moechte, nun zwei Tage zurueck liegt, mir aber am Tag vorher die Daten verloren gegangen sind (Servercrash, | ||
+ | |||
+ | Die Daten, um die es mir nachfolgend geht, liegen in der Datenbank Syslog in der Tabelle SystemEvents. Um ein " | ||
+ | |||
+ | Also fangen wir an und erstellen eine Tabelle, die die anfallenden Daten aufnehmen kann. | ||
+ | |||
+ | < | ||
+ | |||
+ | Hiermit wird in der Datenbank '' | ||
+ | |||
+ | < | ||
+ | mysql -u root -p -e " | ||
+ | |||
+ | Habe ich die Abfrage nun ausgefuehrt kann ich hergehen und die Tabelle via '' | ||
+ | |||
+ | <code bash> | ||
+ | Enter password:</ | ||
+ | |||
+ | Prima, die Sicherung klappt schon mal. Nun noch schauen, dass die Eintraege, die aelter als 90 Tage sind, entfernt werden. Fuer einen ersten Versuch schauen wir erst mal, ob die Anfrage korrekt laueft und nehmen alles, was aelter als 10 Tage ist. | ||
+ | |||
+ | < | ||
+ | |||
+ | Ist das Resultat wie wir es erwarten koennen wir aus dem SELECT ein DELETE machen. Fuer die mit den schnellen Finger. Hiernach sind die Daten erst mal weg. | ||
+ | |||
+ | < | ||
+ | |||
+ | Somit haben wir also alles zusammen um uns ein Script zu schreiben, dass uns taeglich eine Sicherung der gestrigen Daten macht und anschliessend alle Daten in der Datenbank loescht, die aelter als 90 Tage sind. | ||
+ | |||
+ | <code bash># | ||
+ | |||
+ | logger -t backrotate.bash -i " | ||
+ | |||
+ | TIMESTAMP=$(date " | ||
+ | TARGET_DIRECTORY="/ | ||
+ | DB_PREFIX=" | ||
+ | |||
+ | DB_USERNAME=" | ||
+ | DB_PASSWORD=" | ||
+ | DB_DATABASE=" | ||
+ | DB_TABLE=" | ||
+ | DB_BAKTABLE=" | ||
+ | DB_ENTRIES=" | ||
+ | |||
+ | logger -t backrotate.bash -i " | ||
+ | |||
+ | FILENAME=$TARGET_DIRECTORY/ | ||
+ | mysql -u $DB_USERNAME -p$DB_PASSWORD -e " | ||
+ | mysql -u $DB_USERNAME -p$DB_PASSWORD -e " | ||
+ | mysqldump -u $DB_USERNAME -p$DB_PASSWORD $DB_DATABASE $DB_BAKTABLE | bzip2 -9 > $FILENAME | ||
+ | |||
+ | logger -t backrotate.bash -i " | ||
+ | logger -t backrotate.bash -i " | ||
+ | |||
+ | mysql -u $DB_USERNAME -p$DB_PASSWORD -e " | ||
+ | |||
+ | Diejenigen von euch, die schon laenger mitlesen werden zu Recht anmerken, dass ich mich nicht an die [[http:// | ||
+ | |||
+ | |||
+ | [[adminstoriesartikel|Zurück zur Uebersicht]] |