Periodické zálohování databáze

Z ZděchovNET
Verze z 31. 1. 2010, 12:09, kterou vytvořil Chronos (diskuse | příspěvky) (Založena nová stránka: Pro pravidelné zálohování lze vytvořit zálohovací skript, který lze pak periodicky spouštět pomocí Crona. <pre>#!/bin/bash DB_USER=username DB_PASS=password TE…)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Pro pravidelné zálohování lze vytvořit zálohovací skript, který lze pak periodicky spouštět pomocí Crona.

#!/bin/bash

DB_USER=username
DB_PASS=password
TEMP_DIR=/tmp/backup
TARGET_DIR=/var/backup

mkdir ${TEMP_DIR}
cd ${TEMP_DIR}

Lze si vytvářet různé proměnné pro upřesnění parametrů programu mysqldump a volit tak např. complete nebo extended insert.

DB_PARAM="--skip-opt --add-drop-table --quick --set-charset --complete-insert"

Dále lze pro každé schema databáze provádět zálohu do komprimovaného souboru. Do jmen souborů je vkládáno časové razitko ve formě aktuálního data.

DB_SCHEME_NAME=db_scheme
echo ${DB_SCHEME_NAME}
mysqldump --user=${DB_USER} --password=${DB_PASS} ${DB_SCHEME_NAME} ${DB_PARAM} > ${DB_SCHEME_NAME}.sql
echo komprese
tar -c -z ${DB_SCHEME_NAME}.sql > ${TARGET_DIR}/${DB_SCHEME_NAME}/${DB_SCHEME_NAME}_$(date +"%Y-%m-%d").tar.gz
unlink ${TEMP_DIR}/${DB_SCHEME_NAME}.sql

Předešlou část lze vložit do skriptu opakovaně pro různé schmata a

Nakonec lze odstranit dočasný adresář.

echo hotovo
rmdir /tmp/backup