Backup: Unterschied zwischen den Versionen

Aus crazylinux.de
Zur Navigation springen Zur Suche springen
(cat)
K (update)
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Backup ist natürlich auch notwendig. Auch wenn das System sich auf einem gespiegelten Raid befindet, so hilft das nicht gegen Datenverlust, sondern nur vor Hardwareausfall. Deshalb müssen die folgenden Sachen gesichert werden. Backup-Dir ist /home/backup. Unter /home/backup/bin/ liegen die (Cron)Scripte.
Backup ist natürlich auch notwendig. Auch wenn das System sich auf einem gespiegelten Raid befindet, so hilft das nicht gegen Datenverlust, sondern nur vor Hardwareausfall. Deshalb müssen die folgenden Sachen gesichert werden. Backup-Dir ist /srv/backup. Unter /srv/backup/bin/ liegen die (Cron)Scripte.  


=rsnapshot=
== Serverkonfiguration ==
==Serverkonfiguration==
=== Dateien mit rsnapshot ===
*/etc (via rsnapshot-cron). Config ist /etc/rsnapshot.conf, alles default-werte, sonst diese Änderungen. Im root-Dir liegen dann die Backups der letzten Woche:
Config ist /etc/rsnapshot.conf, alles default-werte, sonst diese Änderungen. Im root-Dir liegen dann die Backups der letzten Woche.
 
<source lang="bash">
  # All snapshots will be stored under this root directory.
  # All snapshots will be stored under this root directory.
  snapshot_root  /home/backup/rsnapshot/
  snapshot_root  /srv/backup/rsnapshot/
  interval        daily  7
  #retain        hourly  6
  backup  /etc/          gretchen/
retain          daily  7
backup /home/          gretchen/
  #retain        weekly 4


und das dazugehörige cronscript /etc/cron.d/rsnapshot:
  logfile /var/log/rsnapshot.log
  30 3    * * *          root    /usr/bin/rsnapshot daily


*Partitionstabelle liegen unter /home/backup/server (manuell erstellt, fdisk)
backup  /home/          localhost/
*Liste der installierten Packeten /home/backup/server/package.list (cron, /home/backup/bin/packagelist.sh):
backup  /etc/          localhost/
backup  /srv/vmail/    localhost/
backup  /srv/www/      localhost/
</source>
und das dazugehörige cronscript /etc/cron.d/rsnapshot:
 
<source lang="bash">
30 3    * * *           root    /usr/bin/rsnapshot daily</source>
 
=== Partitionstabelle ===
liegen unter /srv/backup/server (manuell erstellt, parted)
 
<source lang="bash">parted -l|tee /srv/backup/server/partitions</source>
 
=== Liste der installierten Packeten ===
 
/srv/backup/server/package.list (cron, /srv/backup/bin/packagelist.sh):
 
<source lang="bash">
  #!/bin/sh
  #!/bin/sh
  /usr/bin/dpkg -l>/home/backup/server/package.list
  /usr/bin/dpkg -l>/srv/backup/server/package.list</source>
 
== SQL-Export ==
 
der Export wird via MySQLDumper (im AdminBereich unter Verwaltung) täglich per cron dürchgeführt. Jede DB hat ein eigene Datei. Die Files liegen unter .../msd/work/backup/ und werden jeweils 10 Tage aufgehoben.


==User-Homes und sonstige Userdaten==
<br>
*/homes HomeDirs inkl. www via rsnapshot, Aufbewarungszeit 1 Woche
*/var u.a. die Mysql-Datenfiles sowie Emails TODO
*/usr u.a. cacti/horde TODO


=SQL-Export=
== Dateisystem extern via Duply ==
der Export wird via SQLDumper (im AdminBereich unter Verwaltung) täglich per cron dürchgeführt.  Jede DB hat ein eigene Datei. Die Files liegen unter /home/backup/mysql und werden jeweils 10 Tage aufgehoben.
{{:Duply}}


== Tools ==


=Tools=
*rsnapshot http://www.rsnapshot.org/: Erzeugt inkrementele Backups mit Hilfe von rsync  
*rsnapshot http://www.rsnapshot.org/: Erzeugt inkrementele Backups mit Hilfe von rsync
*mySQLDumper http://www.mysqldumper.de/: Mysql-DB-Backups
*mySQLDumper http://www.mysqldumper.de/: Mysql-DB-Backups


[[Kategorie:Datenbank]]
[[Kategorie:MySQL]]
[[Kategorie:Linux]]
[[Kategorie:Linux]]
[[Kategorie:Backup]]
[[Kategorie:Debian]]
[[Kategorie:Suse]]
[[Kategorie:Ubuntu]]

Aktuelle Version vom 29. Juli 2014, 01:31 Uhr

Backup ist natürlich auch notwendig. Auch wenn das System sich auf einem gespiegelten Raid befindet, so hilft das nicht gegen Datenverlust, sondern nur vor Hardwareausfall. Deshalb müssen die folgenden Sachen gesichert werden. Backup-Dir ist /srv/backup. Unter /srv/backup/bin/ liegen die (Cron)Scripte.

Serverkonfiguration

Dateien mit rsnapshot

Config ist /etc/rsnapshot.conf, alles default-werte, sonst diese Änderungen. Im root-Dir liegen dann die Backups der letzten Woche.

 # All snapshots will be stored under this root directory.
 snapshot_root   /srv/backup/rsnapshot/
 #retain         hourly  6
 retain          daily   7
 #retain         weekly  4

 logfile /var/log/rsnapshot.log

 backup  /home/          localhost/
 backup  /etc/           localhost/
 backup  /srv/vmail/     localhost/
 backup  /srv/www/       localhost/

und das dazugehörige cronscript /etc/cron.d/rsnapshot:

 30 3    * * *           root    /usr/bin/rsnapshot daily

Partitionstabelle

liegen unter /srv/backup/server (manuell erstellt, parted)

parted -l|tee /srv/backup/server/partitions

Liste der installierten Packeten

/srv/backup/server/package.list (cron, /srv/backup/bin/packagelist.sh):

 #!/bin/sh
 /usr/bin/dpkg -l>/srv/backup/server/package.list

SQL-Export

der Export wird via MySQLDumper (im AdminBereich unter Verwaltung) täglich per cron dürchgeführt. Jede DB hat ein eigene Datei. Die Files liegen unter .../msd/work/backup/ und werden jeweils 10 Tage aufgehoben.


Dateisystem extern via Duply

Backups auf nicht vertrauenswürdige (FTP-)Server

Wer seine Daten auf einem unbekannten Server sichert, muss sie verschlüsseln und signieren, um sie zuverlässig vor neugierigen Blicken und Manipulationen zu schützen. Dafür ist duplicity das richtige Werkzeug, und das c't-Skript ftplicity (jetzt duply) macht die Arbeit damit zu einem Kinderspiel.

/etc/duply/<profile>/exclude

/dev
/proc
/sys
/tmp
/home
/srv/mysql
/var/cache
/var/tmp
/var/spool/postfix/private
/run
/build
/mnt
/srv/backup
/srv/backupserver
/root/.cache/


Restore

Einzelne Dateien aus dem Backup restauriert man mit duply fetch. Der Befehl benötigt drei Optionen: Datei- beziehungsweise Verzeichnisname, Ziel und Alter:

duply <profile> fetch etc/passwd /root/pw 4D

beispielsweise restauriert /etc/passwd im Stand von vor 4 Tagen nach /root/pw, "now" liefert den aktuellen Stand. Details zu dem verwendeten Zeitformat finden sie in der Manpage von duplicity im Abschnitt TIME FORMATS.

Cronjobs

27 7 1 * * /usr/bin/duply <profile> backup_verify_purge --force
23 6 * * * /usr/bin/duply <profile> bkp 2>/dev/null
0 7 * * 5 /usr/bin/duply <profile> status 2>/dev/null


Links

Tools