Duplicity - backup alat

linuxDuplicity je backup alat koji enkriptira podatke, sprema ih u tar arhivu, i šalje na udaljeni server nekim mehanizmom. Ti mehanizmi mogu biti local, ftp, ssh/scp, rsync. U ovom primjeru pokazat ćemo kako se to obavlja ftp-om. Vrlo sličan postupak je i sa ssh/scp, ili nekim drugim mehanizmom.

Duplicity postoji kao Debian paket, i instalira se naredbom:

# apt-get install duplicity

Da bi se podaci mogli enkriptirati, potrebno je izgenerirati PGP ključeve s GnuPG-em. To se može napraviti naredbom:

# gpg --gen-key

S naredbom:

# gpg --list-keys

možemo vidjeti da li smo stvarno izgenerirali ključ. Primjer ispravnog izlaza naredbe je:

/root/.gnupg/pubring.gpg
------------------------
pub 1024D/B306740F 2006-06-15
uid System Sheriff <root@jurina.srce.hr>
sub 2048g/666452C2 2006-06-15

Zatim na udaljenom računalu otvorimo neki korisnički račun na kojeg ćemo spremati backup podataka.

Također je bitno zapamtiti passphrase i ime ključa (u gornjem izlazu, ime ključa je 'B306740F'), te podatke za backup korisnički račun, i to moramo ubaciti u sljedeću skriptu za backup:

-----------------------------------------------------------
#!/bin/sh
# Duplicity backup script

export FTP_PASSWORD="neka_lozinka"
export PASSPHRASE="neki_gnupg_passphrase"

KEY="neki_key"
BACKUP_LOGIN="neki_login"
BACKUP_HOST="neki.host.hr"

# primjer za neke direktorije
duplicity --encrypt-key "$KEY" --sign-key "$KEY" \
--include /etc \
--include /root \
--include /home \
--include /var/lib/mysql \
--include /var/www \
--include /var/mail \
--exclude '**' \
/ ftp://$BACKUP_LOGIN@$BACKUP_HOST/

# ako zelite full backup, primjer izgleda ovako:
# duplicity --encrypt-key "$KEY" --sign-key "$KEY" \
# --exclude /proc \
# / ftp://$BACKUP_LOGIN@$BACKUP_HOST/
-----------------------------------------------------------

Tu skriptu možemo postaviti u cron da se svakodnevno izvršava:

# ln -s /put/do/backup/skripte /etc/cron.daily/backup

Za vraćanje podataka iz backupa brine se sljedeća skripta:

-----------------------------------------------------------
#!/bin/sh
# Duplicity restore script

export FTP_PASSWORD="neka_lozinka"
export PASSPHRASE="neki_gnupg_passphrase"

BACKUP_LOGIN="neki_login"
BACKUP_HOST="neki.host.hr"

export FTP_PASSWORD="burek"
export PASSPHRASE="1234567890qwertyuiop"

if [ -z "$2" ]; then
echo "Usage: $0 <what_restore> <where_restore>"
exit 1
fi

duplicity --file-to-restore $1 ftp://$BACKUP_LOGIN@$BACKUP_HOST/ $2

------------------------------------

Prvi argument te skripte je datoteka koju želimo vratiti bez početnog "/" (npr. za /etc/passwd upiše se etc/passwd), a drugi argument je datoteka u koju želimo vratiti (ako želimo npr. vratiti /etc/passwd u /tmp/passwd).

Vijesti: 
Kuharice: 
Vote: 
0
No votes yet