| 30-06-06 10:33 Duplicity - backup alat
 
  piše IVAN RAKO
 
 
 Duplicity 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). 
 
 |