Automysqlbackup
Automysqlbackup on yksinkertainen bash ohjelma Mysql tietokantojen varmuuskopiointiin Linuxille.
Automysqlbackup mahdollistaa varmuuskopioinnin päivittäin, viikottain ja kuukausittain yhdestä tai useammasta MySQL palvelimesta.
Lisäominaisuuksena:
- Sähköposti ilmoitukset
- Varmuuskopioinnin pakkaus ja salaus
- Muokattava varmuuskopioinnin vuoro
- Kasvava tietokannan varmuuskopiot
Sisällysluettelo
Asennus
1. Lataa asennuspaketti
wget http://softlayer-ams.dl.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz
2. Pura asennuspaketti
tar zxvf automysqlbackup-v3.0_rc6.tar.gz
3. Kopioi automysqlbackup tiedosto /usr/local/bin/ hakemistoon.
cp automysqlbackup /usr/local/bin/
4. Luo hakemisto /etc/automysqlbackup
mkdir /etc/automysqlbackup
5. Kopioi autmysqlbackup.conf /etc/automysqlbackup hakemistoon
cp automysqlbackup.conf /etc/automysqlbackup/automysqlbackup.conf
6. Siirry hakemistoon /etc/automysqlbackup
cd /etc/automysqlbackup
7. Kopioi automysqlbackup.conf servername.conf (palvelimesi nimeksi)
cp automysqlbackup.conf servername.conf
Konfigurointi
Avaa konfigurointi tiedosto tekstieditorilla:
nano /etc/automysqlbackup/servername.conf
Määritä käyttäjälle tiedostoon mysql tietokantasi käyttäjätunnus ja salasana
# Username to access the MySQL server e.g. dbuser CONFIG_mysql_dump_username='db_user' # Password to access the MySQL server e.g. password CONFIG_mysql_dump_password='sekkritpassword'
Konfiguroi palvelimellesi IP-osoite / verkko-osoite, localhost jos on samassa koneessa kuin mysql palvelin.
# Host name (or IP address) of MySQL server e.g localhost CONFIG_mysql_dump_host='localhost'
Määritä varmuuskopiointi hakemisto, jonne tallennetaan kaikki varmuuskopiot.
# Backup directory location e.g /backups CONFIG_backup_dir='/home/mysqlbackups'
Valitse mitä varmuuskopioidaan tietokannasta. Jättämällä CONFIG_db_names=() tyhjäksi varmuuskopioidaan oletuksena kaikki tiedot.
# List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... ) # set to (), i.e. empty, if you want to backup all databases CONFIG_db_names=() # List of databases for Monthly Backups. # set to (), i.e. empty, if you want to backup all databases CONFIG_db_month_names=() # List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. (). CONFIG_db_exclude=('information_schema' 'test_db' 'demo_db' )
Varmuuskopiointi lokit:
# What would you like to be mailed to you? # - log : send only log file # - files : send log file and sql files as attachments (see docs) # - stdout : will simply output the log to the screen if run manually. # - quiet : Only send logs if an error occurs to the MAILADDR. CONFIG_mailcontent='log' # Email Address to send mail to? ( [email protected])CONFIG_mail_address=' [email protected]'
Varmuuskopiointi
Aja ensimmäinen varmuuskopio ajamalla seuraava komento:
automysqlbackup /etc/automysqlbackup/servername.conf
Tämä luo automaattisesti varmuuskopiontihakemistoon hakemistoja. daily hakemiston alla on äskettäien ajettu varmuuskopio.
# ls /home/mysqlbackups/ daily/ fullschema/ latest/ monthly/ status/ tmp/ weekly/
README tiedostossa on esimerkiksi yksinkertainen backupscripti:
#Minh Truong (http://www.datatekniikka.fi) 30. marraskuuta 2014 kello 18.50 (EET) Copy From Below Here Minh Truong (http://www.datatekniikka.fi) 30. marraskuuta 2014 kello 18.50 (EET) #!/bin/sh /usr/local/bin/automysqlbackup /etc/automysqlbackup/myserver.conf chown root.root /var/backup/db* -R find /var/backup/db* -type f -exec chmod 400 {} \; find /var/backup/db* -type d -exec chmod 700 {} \; #Copy To Above Here
Ajasta varmuuskopio joka päivä kello 0.00 laittamalla rivi crontabiin:
nano /etc/crontab
Lisää tiedostoon rivi, tiedosto jossa äskeinen backupscripti on kirjoitettu:
0 0 * * * /usr/local/bin/backupscript