Backuplösung für Rootserver: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 3: | Line 3: | ||
=Verzeichnisstruktur= | =Verzeichnisstruktur= | ||
{{ | {{Code|Verzeichnisstruktur| | ||
<pre> | <pre> | ||
\root | \root | ||
| Line 44: | Line 44: | ||
=Verschlüsselung= | =Verschlüsselung= | ||
==MySQL== | ==MySQL== | ||
{{ | {{File|backup-mysql.sh| | ||
<pre lang="bash"> | <pre lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
Latest revision as of 15:16, 27 July 2011
Konzept
Verzeichnisstruktur
| Code: Verzeichnisstruktur |
\root \root\backup \root\backup\bin (Verzeichnis der Backupskripte etc) \root\backup\htdocs (Verzeichnis htdocs Backup) \root\backup\mysql (Verzeichnis MySQL Backup) \root\backup\system (Verzeichnis root Backup) |
Backup erstellen
MySQL
#!/bin/bash
date=`date -I`
# configuration variables
USERNAME="backupuser"
PASSWORD="password"
DBHOST="localhost"
BACKUPDIR="/root/backups"
OPTS="--opt --allow-keywords --flush-logs --hex-blob --master-data --max_allowed_packet=16M --quote-names"
OPTS_FULLBACKUP="--all-databases --opt --allow-keywords --flush-logs --hex-blob --master-data --max_allowed_packet=16M --quote-names"
# backup each database into an individual file
DBNAMES="`mysql --user=$USERNAME --password=$PASSWORD --host=$DBHOST --batch --skip-column-names -e "show databases"| sed 's/ /%/g'`"
for i in $DBNAMES
do
mysqldump $i --user=$USERNAME --password=$PASSWORD --host=$DBHOST $OPTS | bzip2 -c > $BACKUPDIR/$i-$date.SQL.bz2
done
# backup all databases into one big file
mysqldump --user=$USERNAME --password=$PASSWORD --host=$DBHOST $OPTS_FULLBACKUP | bzip2 -c > $BACKUPDIR/FULLBACKUP-MYSQL-ALL-$date.SQL.bz2
Verschlüsselung
MySQL
File: backup-mysql.sh
#!/bin/bash
date=`date -I`
# configuration variables
USERNAME="backupuser"
PASSWORD="password"
DBHOST="localhost"
BACKUPDIR="/root/backups"
# encryption variables
PGPMAILUSERPUB="backupuser@deltaquadrant.org"
OPTS="--opt --allow-keywords --flush-logs --hex-blob \
--master-data --max_allowed_packet=16M --quote-names"
OPTS_FULLBACKUP="--all-databases --opt --allow-keywords --flush-logs --hex-blob \
--master-data --max_allowed_packet=16M --quote-names"
# backup each database into an individual file
DBNAMES="`mysql --user=$USERNAME --password=$PASSWORD --host=$DBHOST \
--batch --skip-column-names -e "show databases"| sed 's/ /%/g'`"
for i in $DBNAMES
do
mysqldump $i --user=$USERNAME --password=$PASSWORD --host=$DBHOST $OPTS | bzip2 -c | \
gpg --armor --encrypt --trust-model always \
--recipient $PGPMAILUSERPUB - > $BACKUPDIR/$i-$date.SQL.bz2.gpg
done
# backup all databases into one big file
mysqldump --user=$USERNAME --password=$PASSWORD --host=$DBHOST $OPTS_FULLBACKUP | bzip2 -c | \
gpg --armor --encrypt --trust-model always \
--recipient $PGPMAILUSERPUB - > $BACKUPDIR/FULLBACKUP-MYSQL-ALL-$date.SQL.bz2.pgp
Cron Jobs
MySQL
Dateiübertragung
Konzept 1
- ftp
Konzept 2
- scponly & keyauth