Преглед
Постављање окружења
Резервне копије
Аутоматизација
Рестаурација
Преглед
Иако Вултр има систем резервних копија за целокупне системске слике, ово функционише на нивоу блока и захтева да се резервна копија врати на ВМ пре него што се подаци могу вратити. Поред тога, резервне копије се чувају само кратко време и не пружају право решење за инкрементално прављење резервних копија.
Ентер Дуплицити - Дуплицити се надограђује на легендарни рсинц и пружа могућност складиштења инкременталних резервних копија заједно са шифровањем података у мировању путем ГПГ-а. Усклађен је са Посик-ом и преноси само делте између покретања резервних копија, чиме се смањује укупни захтев за пропусним опсегом.
Постављање окружења
Терминологија
- Изворни хост - сервер на коме ће бити направљена резервна копија података. За овај водич има ИП адресу: 10.1.10.1
- Хост резервне копије – Одредишни сервер за резервне копије. За овај водич има ИП адресу: 10.1.10.2
- /бацкупдир – Изворни директоријум на изворном хосту који се користи за прављење резервних копија у овом водичу. Можете променити ово да одговара вашем окружењу.
- /дестдир – Одредишни директоријум на хосту резервних копија који се користи за прављење резервних копија у овом водичу. Можете променити ово да одговара вашем окружењу.
- Потпуна резервна копија – Цела копија изворног скупа података.
- Инкрементална резервна копија – Копија свих промена направљених од последње резервне копије.
Инсталирање Дуплицити
Убунту 14.04:
sudo apt-get update
sudo apt-get install duplicity python-paramiko
ЦентОС (захтева ЕПЕЛ):
sudo yum install duplicity python-paramiko
Убунту 12.04/Дебиан 7:
sudo apt-get update
sudo apt-get install ncftp python-paramiko python-pycryptopp lftp python-boto python-dev librsync-dev
wget https://launchpad.net/duplicity/0.7-series/0.7.02/+download/duplicity-0.7.02.tar.gz
tar xzvf duplicity*
cd duplicity*
sudo python setup.py install
Морамо да инсталирамо из извора јер су пакети Дуплицити унутар Дебиан 7 и Убунту 12.04 покварени због промене у позадинској ССХ библиотеци.
Двапут проверите да ли је Дуплицити инсталиран тако што ћете покренути:
duplicity -v
Требало би да врати следећи излаз (верзија може бити другачија):
duplicity 0.6.18
Подешавање аутентификације без кључа за ССХ
Следећи корак је подешавање аутентификације засноване на сертификатима за ССХ између хоста резервне копије и изворног хоста. Ово ће омогућити изворном серверу ССХ у хост резервне копије без уношења приступне фразе. Вултр има сјајан чланак који објашњава како се то ради: Како да генеришем ССХ кључеве .
Резервне копије
Покретање прве (потпуне) резервне копије
Покренимо пуну резервну копију! Ово ће послати пуну копију података са изворног сервера на одредиште.
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
Можете додати додатне фасцикле тако што ћете укључити више --include="[dir]"изјава.
У --no-encryptionпрописује да подаци не треба да буде кодиран у околини. Подаци ће бити шифровани током транспорта док пролазе кроз ССХ тунел.
--exclude="**" /Опција је трик за бацкуп све оно што је једино у укључују листу (и ништа друго).
Покретање инкременталне резервне копије
Покретање инкременталне резервне копије је врло једноставно - само промените fullзаставицу у incrementalзаставицу.
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
Аутоматизација
Пишите аутоматизоване скрипте
Покретање ових команди сваки пут када вам је потребна резервна копија је тешко – шта ако имамо скрипте да то уради уместо нас?
Комплетна скрипта за резервну копију
Покрените команду.
nano /usr/local/bin/backup-full
Додајте следећи садржај.
#!/bin/bash
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
Инкрементална резервна скрипта
nano /usr/local/bin/backup-incremental
Додајте следећи садржај.
#!/bin/bash
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
Учините скрипте извршним
Да бисте учинили скрипте извршним, покрените следећу команду.
chmod +x /usr/local/bin/backup-*
Сада можете да направите резервну копију покретањем backup-fullи backup-incrementalиз љуске. Прилично кул!
Сетуп црон
Хајде да направимо резервне копије аутоматски! Подешавањем црон-а да покреће горенаведене скрипте у одређено време, можемо осигурати да се резервне копије врше у редовним интервалима.
Покрените следећу команду.
crontab -e
Додајте следеће на дно датотеке.
10 01 * * 1,2,3,4,5,6 backup-incremental
10 01 * * 7 backup-full
Ово ће покретати потпуну резервну копију сваке недеље у 1:10 ујутро, а покретаће инкременталне резервне копије сваког другог дана у 1:10 ујутро.
Рестаурација
Годзила је уништио Сијетл и морамо да будемо у могућности да повратимо податке са резервног ВПС-а у Њујорку!
duplicity --no-encryption --file-to-restore / ssh://user@backupserver:22/destdir/
Ако треба да вратимо податке од пре 3 дана:
duplicity --no-encryption -t 3D --file-to-restore / ssh://user@backupserver:22/destdir/
У -t 3Dсредства опција вратите резервну копију од прије три дана. Сличне опције као што су -t 1M(пре месец дана) или -t 5H(пре 5 сати) такође функционишу.