Backup (verschlüsselt) anlegen, versenden und wieder löschen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Heather
Beiträge: 34
Registriert: 12.06.2005 23:05:53

Backup (verschlüsselt) anlegen, versenden und wieder löschen

Beitrag von Heather » 05.01.2011 14:52:24

Hallo, momentan nutze ich einen Managed Server, auf dem einige Websites gehostet sind. Ein Ausfall hat mir vor Augen geführt, dass ich mich etwas intensiver um Backups kümmern sollte als bisher. Bisher habe ich mir ab und zu manuell per phpmyadmin die MySQL-Datenbanken heruntergeladen und diese zusammen mit den manuell per SFTP vom Server heruntergeladenen Dateien lokal abgelegt.

Nun möchte ich dies automatisieren. Meine Idee ist, dass ein oder mehrere Shell-Skripte vom Cronjob ausgeführt werden und das hier tun:
  • In einem bestimmten Verzeichnis Backups der MySQL-Datenbanken anlegen.
  • Die MySQL-Datenbanken mit meinem öffentlichen PGP-Schlüssel verschlüsselt packen.
  • Die Backups an mich per E-Mail versenden (bei Dateien > 10 MB möglichst auf mehrere E-Mails á 10 MB verteilt).
  • Die Backups, die älter als 14 Tage sind, auf dem Server löschen.
  • In einem bestimmten Verzeichnis ein rekursives Backup eines von mir festgelegten Verzeichnisses anlegen.
  • Das Backup mit meinem öffentlichen PGP-Schlüssel verschlüsselt packen.
  • Die Backups an mich per E-Mail versenden (bei Dateien > 10 MB möglichst auf mehrere E-Mails á 10 MB verteilt).
  • Die Backups, die älter als 14 Tage sind, auf dem Server löschen.
Ein Skript ein wenig anzupassen (also DB-User etc. einzutragen oder Verzeichnisse zu ändern) und die Ausführung des oder der Skripte per cron anzustoßen, bekomme ich ja noch selbst hin. Aber der Rest ist für mich zu schwer.

Bei meiner Recherche im Netz bin ich auf automysqlbackup gestoßen: http://sourceforge.net/projects/automysqlbackup/
Hab's ausprobiert. Es läuft bei mir und kann zumindest die SQL-DBs versenden. Aber das passiert unverschlüsselt.

Kennt oder hat jemand so ein Skript für mich?

Danke & Gruß!
Heather

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Backup (verschlüsselt) anlegen, versenden und wieder lös

Beitrag von Colttt » 06.01.2011 08:19:59

also es ist auf jedenfall machbar.. deine freunde wären dafür: find, mysqldump, gnupg, tar, bzip, split mail, rm und cron..

Code: Alles auswählen

mkdir /home/backup/`date +%F`
mysqldump -A -u BENUTZER -p PASSWORT > /home/backup/`date +%F`/mysql-backup.sql
cp -R /DAS/ZU/Sichernde/verzeichnis /home/backup/`date +%F`

tar -cjp /home/backup/`date +%F` | gpg --encrypt -a --recipient <Name oder Key_Id> >  /home/backup/`date +%F`/backup-`date +&F`.tar.bz2.asc
mail  ------- hier weiss ich spontan nicht weiter
find -mtime 14  /home/backup/ -exec Kommando {rm -rf} \;
ist alles ohne gewähr, weiss also nicht ob es funktioniert, habe das grade mal nur schnell zusammen geschustert.. den rest solltest du aber schaffen.. ;) was noch fehlt ist die dateien zu splitten wenn mehr als 10MB, das geht dann mit split vor mail.. ;)
Debian-Nutzer :D

ZABBIX Certified Specialist

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Backup (verschlüsselt) anlegen, versenden und wieder lös

Beitrag von syssi » 06.01.2011 09:46:25

Um Mails mit Anhang gescripted zu versenden benutze ich keine "mutt". Gibt aber sicher noch viele andere Loesungen:

Code: Alles auswählen

/usr/bin/mutt -s "Betreffzeile..." -a $ANHANG -- $EMPFAENGER < $BODYTEXT
Gruss syssi

Heather
Beiträge: 34
Registriert: 12.06.2005 23:05:53

Re: Backup (verschlüsselt) anlegen, versenden und wieder lös

Beitrag von Heather » 06.01.2011 13:43:53

Vielen Dank, ich probiere mal aus, was ich bis jetzt habe. Ich könnte das Ganze in einzelne Skripte aufteilen, die dann in gewissen Abständen vom cron angestoßen werden.

Antworten