Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
server:ftplicity [2010/05/13 13:15] ewald /usr/local/sbin anstatt /usr/local/bin benutzen |
server:ftplicity [2011/11/09 17:52] (aktuell) ewald Option --single-transaction beim mysqldump-Aufruf |
||
|---|---|---|---|
| Zeile 119: | Zeile 119: | ||
| # Kommandos sollten eigentlich mit && verkettet werden! | # Kommandos sollten eigentlich mit && verkettet werden! | ||
| 00 6 1 * * /usr/local/sbin/ftplicity full ; /usr/local/sbin/ftplicity purge --force | 00 6 1 * * /usr/local/sbin/ftplicity full ; /usr/local/sbin/ftplicity purge --force | ||
| + | |||
| + | ===== MySQL-Backup ===== | ||
| + | |||
| + | Das MySQL-Backup wird von ''ftplicity'' per ''pre''-Kommando durchgeführt. Dabei werden mit ''mysqldump'' Dumps aller Datenbanken angelegt. | ||
| + | |||
| + | * MySQL-Backup-Benutzer anlegen: | ||
| + | |||
| + | $ mysql -u root -p | ||
| + | GRANT SHOW DATABASES, SHOW VIEW, SELECT, LOCK TABLES, RELOAD ON *.* to 'backup'@'localhost' IDENTIFIED BY 'password'; | ||
| + | FLUSH PRIVILEGES; | ||
| + | |||
| + | * MySQL-Backup-Verzeichnis anlegen: | ||
| + | |||
| + | # mkdir /var/backups/mysql | ||
| + | # chown root:root /var/backups/mysql | ||
| + | # chmod 750 /var/backups/mysql | ||
| + | |||
| + | * MySQL-Backup-Skript anlegen: | ||
| + | |||
| + | # vi /usr/local/sbin/mysqlbackup | ||
| + | #!/bin/bash | ||
| + | | ||
| + | set -e | ||
| + | | ||
| + | DIR=/var/backups/mysql/ | ||
| + | DB_USER=backup | ||
| + | DB_PASS='password' | ||
| + | | ||
| + | OPT="--opt --single-transaction --quote-names --routines --flush-logs --allow-keywords" | ||
| + | | ||
| + | # create backups securely | ||
| + | umask 0027 | ||
| + | | ||
| + | # list MySQL databases and dump each | ||
| + | DB_LIST=`mysql -u $DB_USER -p"$DB_PASS" -e'show databases;'` | ||
| + | DB_LIST=${DB_LIST##Database} | ||
| + | for DB in $DB_LIST; | ||
| + | do | ||
| + | FILENAME=${DIR}${DB}.sql.bz2 | ||
| + | mysqldump -u $DB_USER -p"$DB_PASS" $OPT $DB | bzip2 > $FILENAME.tmp | ||
| + | mv $FILENAME.tmp $FILENAME | ||
| + | done | ||
| + | |||
| + | * Zugriffsrechte für MySQL-Backup-Skript setzen: | ||
| + | |||
| + | # chown root:root /usr/local/sbin/mysqlbackup | ||
| + | # chmod 700 /usr/local/sbin/mysqlbackup | ||
| + | |||
| + | * MySQL-Backup-Skript vor dem Backup ausführen: | ||
| + | |||
| + | # vi /root/.ftplicity/pre | ||
| + | #!/bin/bash | ||
| + | | ||
| + | /usr/local/sbin/mysqlbackup | ||
| + | |||
| + | * Zugriffsrechte für ''pre''-Kommando setzen: | ||
| + | |||
| + | # chmod 700 /root/.ftplicity/pre | ||
| ===== Ausblick ===== | ===== Ausblick ===== | ||
| * Nachfolge-Projekt: [[http://duply.net/|duply]] | * Nachfolge-Projekt: [[http://duply.net/|duply]] | ||