Backuplösung für Rootserver: Difference between revisions

From Q
Jump to navigation Jump to search
Tgurr (talk | contribs)
No edit summary
Tgurr (talk | contribs)
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 2: Line 2:


=Verzeichnisstruktur=
=Verzeichnisstruktur=
{{Box File|backup-mysql.sh|
 
{{Code|Verzeichnisstruktur|
<pre>
<pre>
\
\root
\backup
\root\backup
\backup\bin    (Verzeichnis der Backupskripte)
\root\backup\bin    (Verzeichnis der Backupskripte etc)
\backup\mysql  (Verzeichnis MySQL Backup)
\root\backup\htdocs  (Verzeichnis htdocs Backup)
\backup\htdocs  (Verzeichnis htdocs Backup)
\root\backup\mysql  (Verzeichnis MySQL Backup)
\backup\system  (Verzeichnis root Backup)
\root\backup\system  (Verzeichnis root Backup)
</pre>
</pre>
}}
}}
Line 15: Line 16:
=Backup erstellen=
=Backup erstellen=
==MySQL==
==MySQL==
{{Box File|backup-mysql.sh|
<source lang="bash">
<pre>
#!/bin/bash
#!/bin/bash
date=`date -I`
date=`date -I`
Line 38: Line 38:
# backup all databases into one big file
# 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
mysqldump --user=$USERNAME --password=$PASSWORD --host=$DBHOST $OPTS_FULLBACKUP | bzip2 -c > $BACKUPDIR/FULLBACKUP-MYSQL-ALL-$date.SQL.bz2
</pre>
</source>
}}




Line 45: Line 44:
=Verschlüsselung=
=Verschlüsselung=
==MySQL==
==MySQL==
{{Box File|backup-mysql.sh|
{{File|backup-mysql.sh|
<pre>
<pre lang="bash">
#!/bin/bash
#!/bin/bash
date=`date -I`
date=`date -I`

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