Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
backup [2017/03/30 08:00]
mike
backup [2017/03/30 08:03]
mike
Zeile 74: Zeile 74:
 gzip | \ gzip | \
 openssl smime -encrypt -binary -text -aes256 -out $BACKUPFILE -outform DER /​opt/​webserver/​backup/​mysqldump-secure.pub.pem openssl smime -encrypt -binary -text -aes256 -out $BACKUPFILE -outform DER /​opt/​webserver/​backup/​mysqldump-secure.pub.pem
 +</​code>​
 +
 +==== mysqldump.cnf ====
 +
 +Konfigurationsdatei für mysqldump um das Passwort für die Datenbank nicht in der Prozessliste anzuzeigen
 +
 +<​file>​
 +[mysqldump]
 +host=localhost
 +user=root
 +password=******
 +</​file>​
 +
 +==== mysqldump-secure.pub.pem ====
 +
 +Öffentlicher Schlüssel mit dem die Backups verschlüsselt werden
 +
 +==== restore.sh ====
 +
 +Skript mit dem die Backups wieder entschlüsselt werden können. Dazu muss der private Schlüssel ins System kopiert werden (sollte aber nach dem Entschlüsseln sofort wieder entfernt werden). Alternativ kann die Entschlüsselung auf einem externen System erfolgen.
 +
 +<​code>​
 +#!/bin/bash
 +
 +KEYFILE=/​opt/​webserver/​backup/​mysqldump-secure.priv.pem
 +
 +DESTINATIONFILE=/​opt/​webserver/​backup/​datenschutz.sql
 +
 +
 +echo "​Checking for file $1"
 +if [ -e $1 ]; then
 +  echo "​Database backup file $1 found"
 +else
 +  echo "File $1 not found, please check for file path..."​
 +  exit
 +fi
 +
 +
 +echo "​Checking for private key in $KEYFILE"​
 +if [ -e $KEYFILE ]; then
 +  echo "Key found!"​
 +else
 +  echo "No private key found, please copy key to $KEYFILE"​
 +  exit
 +fi
 +
 +if [ -e $DESTINATIONFILE ]; then
 +  echo "​$DESTINATIONFILE exists, removing..."​
 +  rm $DESTINATIONFILE
 +fi
 +
 +echo "​Restoring to $DESTINATIONFILE"​
 +openssl smime -decrypt -in $1 -binary -inform DEM -inkey $KEYFILE | \
 +gunzip >​$DESTINATIONFILE
 +
 +if [ -e $DESTINATIONFILE ]; then
 +  echo "​Restore operation successful, backup restored to $DESTINATIONFILE"​
 +fi
 +
 +echo "** please delete your private key now: $KEYFILE"​
 </​code>​ </​code>​