Benutzer-Werkzeuge

Webseiten-Werkzeuge


server:ftplicity

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
server:ftplicity [2010/02/14 11:54]
ewald Backup-Ziel ist Hidrive
server:ftplicity [2011/11/09 17:52] (aktuell)
ewald Option --single-transaction beim mysqldump-Aufruf
Zeile 16: Zeile 16:
   # aptitude install duplicity   # aptitude install duplicity
  
-  * [[ftp://​ftp.heise.de/​pub/​ct/​listings/​0613-216.tar.gz|ftplicity]] laden, entpacken und ''​ftplicity''​ nach ''/​usr/​local/​bin''​ kopieren+  * [[ftp://​ftp.heise.de/​pub/​ct/​listings/​0613-216.tar.gz|ftplicity]] laden, entpacken und ''​ftplicity''​ nach ''/​usr/​local/​sbin''​ kopieren
  
   * ''​ftplicity''​ legt beim ersten Aufruf nicht das Konfigurationsverzeichnis ''/​root/​.ftplicity''​ an, deshalb vor dem Aufruf von ''​save_config''​ folgende Zeile einfügen:   * ''​ftplicity''​ legt beim ersten Aufruf nicht das Konfigurationsverzeichnis ''/​root/​.ftplicity''​ an, deshalb vor dem Aufruf von ''​save_config''​ folgende Zeile einfügen:
  
-  # vi /usr/local/bin/ftplicity+  # vi /usr/local/sbin/ftplicity
   [...]   [...]
   if [ ! -d "​$CONFDIR"​ ]   if [ ! -d "​$CONFDIR"​ ]
Zeile 29: Zeile 29:
   * Damit bei Verwendung von ''​scp''​ das Kennwort aus der Umgebungsvariablen ''​FTP_PASSWORD''​ zur Authentifizierung dient (und nicht, wie es eigentlich besser wäre, ein SSH-Key), muss beim Aufruf von ''​duplicity''​ noch die Option ''​--ssh-askpass''​ hinzugefügt werden:   * Damit bei Verwendung von ''​scp''​ das Kennwort aus der Umgebungsvariablen ''​FTP_PASSWORD''​ zur Authentifizierung dient (und nicht, wie es eigentlich besser wäre, ein SSH-Key), muss beim Aufruf von ''​duplicity''​ noch die Option ''​--ssh-askpass''​ hinzugefügt werden:
  
-  # vi /usr/local/bin/ftplicity+  # vi /usr/local/sbin/ftplicity
   [...]   [...]
           $DUPLICITY $cmd "​$@"​ --encrypt-key $GPG_KEY \           $DUPLICITY $cmd "​$@"​ --encrypt-key $GPG_KEY \
Zeile 113: Zeile 113:
   ​   ​
   # Inkrementelles Backup um 5 Uhr morgens   # Inkrementelles Backup um 5 Uhr morgens
-  00 5 * * * /usr/local/bin/ftplicity backup+  00 5 * * * /usr/local/sbin/ftplicity backup
   ​   ​
   # Vollbackup um 6 Uhr morgens an jedem ersten des Monats,   # Vollbackup um 6 Uhr morgens an jedem ersten des Monats,
   # veraltete Ketten loeschen   # veraltete Ketten loeschen
   # Kommandos sollten eigentlich mit && verkettet werden!   # Kommandos sollten eigentlich mit && verkettet werden!
-  00 6 1 * * /usr/local/bin/ftplicity full ; /usr/local/bin/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]]
server/ftplicity.1266144899.txt.gz · Zuletzt geändert: 2010/02/14 11:54 von ewald