Podatki, ki jih potrebujete
- root geslo za MySQL
spodaj zamenjajte MYSQL_ROOT_GESLO - seznam map za katere želite, da se izdelujejo varnostne kopije
spodaj popravite seznam map pod INCLUDE_LIST - uporabniško ime in geslo ter ime FTP strežnika, kamor se bodo shranjevale varnostne kopje
spodaj zamenjajte FTP_UPORABNIŠKO_IME, FTP_GESLO in FTP_STREŽNIK - geslo za varnostne kopije
spodaj zamenjajte ZGENERIRANO_GESLO
Lokalno varnostno kopiranje MySQL – primer uporabe AutoMySQLBackup
1. Ustvarite mapo za AutoMySQLBackup
mkdir -p /root/scripts/automysqlbackup
2. Ustvarite mapo, kamor se bodo shranjevale varnostne kopije
mkdir /var/lib/mysqlbackup chmod 700 /var/lib/mysqlbackup
3. S spletne strani prenesite program AutoMySQLBackup ter ga razpakirajte
cd /root/scripts/automysqlbackup tar zxvf automysqlbackup-*.tar.gz
4. Uredite nastavitve v datoteki /root/scripts/automysqlbackup/automysqlbackup.conf
vpišite geslo za root uporabnika za MySQL
CONFIG_mysql_dump_password='MYSQL_ROOT_GESLO'
ter določite v katero mapo se shranjujejo varnostne kopije
CONFIG_backup_dir='/var/lib/mysqlbackup'
5. Preverite delovanje
/root/scripts/automysqlbackup/automysqlbackup /root/scripts/automysqlbackup/automysqlbackup.conf
Oddaljeno varnostno kopiranje na FTP – primer uporabe duplicity-manager
Za namestitev programa duplicity-manager morate najprej namestiti programa Git in Duplicity. Primer namestitve na Centos 6.5. x64:
yum install git
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm yum install duplicity
1. Namestite duplicity-manager
cd /root/scripts/ git clone https://github.com/stephenlang/duplicity-manager
2. Zgenerirajte naključno geslo
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c64
POMEMBNO: Geslo shranite na varno mesto (ločeno od strežnika), saj brez tega gesla ne boste mogli obnoviti vaših varnostnih kopij.
3. Uredite nastavitve v datoteki /root/scripts/duplicity-manager/duplicity-manager.sh
geslo zgenerirano v prejšnjem koraku vpišite pod
export PASSPHRASE=ZGENERIRANO_GESLO
ločeno s presledkom vpišite mape, za katere mape želite, da se izdelujejo varnostne kopije (ne pozabite na mapo, kjer so varnostne kopije MySQL)
INCLUDE_LIST=( /etc /var/www /var/lib/mysqlbackup )
in kam se varnostne kopije shranjujejo (vpišite uporabiške podatke za dostop do FTP strežnika za varnostne kopije)
backupdestination=ftp://FTP_UPORABNIŠKO_IME:FTP_GESLO@FTP_STREŽNIK
4. Preverite delovanje
/root/scripts/duplicity-manager/duplicity-manager.sh --backup
Periodično varnostno kopiranje
Določite, kdaj AutoMySQLBackup in duplicity-manager izvedeta varnostno kopiranje
1. Odprite urejevalnik periodičnih opravil
crontab -e
2. Dodajte vrstici za izdelovanje varnostnih kopij, npr. ob 2:00 in 3:00 ponoči 0 2 * * * /root/scripts/automysqlbackup/automysqlbackup /root/scripts/automysqlbackup/automysqlbackup.conf 0 3 * * * /root/scripts/duplicity-manager/duplicity-manager.sh --backup
Obnovitev iz varnostne kopije
Obnovitev MySQL baze
gunzip < ${DATOTEKA_Z_VARNOSTNO_KOPIJO_BAZE} | mysql -uroot -p'${MYSQL_ROOT_GESLO}' ${IME_BAZE}
- ${DATOTEKA_Z_VARNOSTNO_KOPIJO_BAZE} zamenjajte s polno potjo do varnostne kopije posamezne baze.
- ${MYSQL_ROOT_GESLO} zamenjajte z root geslom.
- ${IME_BAZE} zamenjajte z imenom baze, ki jo obnavljate.
POZOR: Podatki, ki so v varnostni kopiji, bodo prepisali vse obstoječe podatke v bazah.
Obnovitev datotek
/root/scripts/duplicity-manager.sh --restore-single ${STAROST_BACKUPA_V_DNEH}D ${MAPA_KI_JO_ZELITE_OBNOVITI}
- ${STAROST_BACKUPA_V_DNEH} zamenjajte s starostjo varnostne kopije (v dneh) iz katere želite obnoviti datoteke. Če želite datoteke obnoviti iz zadnje varnostne kopije, vpišite število 0.
- ${MAPA_KI_JO_ZELITE_OBNOVITI} zamenjajte z imenom mape, ki jo obnavljate. Npr.: var/www
Datoteke pridobljene iz varnostne kopije se shranijo v mapo /tmp. Če jih želite obnoviti na izvirno mesto, jih morate tja ročno skopirati.