MySQL-tietokannan varmuuskopiointi

Elokuun tenttiviikosta on selvitty, lähes, joten on taas aikaa kirjoitella hieman.

Kuten kaikki tietävät on varmuuskopioiden tekeminen tärkeää, koska laitteistorikot ja muut sattumat voivat osua juuri pahimpaan mahdolliseen aikaan. Tällöin tietoa on toivottavaa ja mielekästä etsiä mahdollisimman tuoreista varmuuskopioista.

MySQL-tietokantaa on helppo varmuuskopioida Linux-maailmassa pienellä skriptillä. Tarvitaan vain muutamat mysqldump ja scp -lauseet ja kanta on tallennettu omalle koneelle ja toivottavasti vielä jollekin toiselle koneelle.

Lyhyesti: Teemme Bash-skriptin sisältäen muutamat muuttujat ja tarvittavat lauseet. Skripti kommentteineen löytyy täältä ja näyttää suurinpiirtein seuraavalta:

#!/bin/bash
#
# MySQL mysqldump + backup with scp

# We need user with enough privileges to dump (or use an user who has all privileges)
# grant select,reload,process,lock tables on *.* to db_user@localhost identified by 'password';

# For crontab 1 times a day,  add this to your crontab (crontab -e)
# remove the ">/dev/null 2>&1" if you want email if backup done ok
# 0 6 * * * /home/user/mysqldump.sh >/dev/null 2>&1

DB_USER='db_user'
USER='user'
PASSWD='password'
HOST='host.net'
DESTINATION='backups'

# backup with date (2005-08-24)
DATE=`date -I +%F`

# If you want to compress your backups directly even without hitting your HD. You can try this command:
#
mysqldump --opt -u $DB_USER --password="$PASSWD" --all-databases | bzip2 -c > db_backup-$DATE.sql.bz2

# Sending the backup file with scp
# You need to have ssh-keys used so that no passwords are asked
# Or use scp manually
scp db_backup-$DATE.sql.bz2 $USER@$HOST:~/$DESTINATION

Posted

in

,

by

Comments

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *