Quando un pomeriggio è noioso

Ciao a tutti, in previsione di scrivere un nuovo articolo sul sistema automatico di backup che utilizzo adesso (borgbackup: resistance is futile, you will be backuped XD), ho pensato di riportare alla luce questo vecchissimo articolo scritto nel lontanissimo Maggio del 2013 e pubblicato dall’associazione Grayhats, qui il link.


Signori, oggi giornata di backup.

E dunque, mentre in una parte dello schermo ho posizionato vlc con un leggero film scaccia-pensieri, un’altra ho messo lo screen col processo di backup in corso, nell’altra scrivo questo documento per compensare il mio disagio ossessivo-compulsivo di fare qualcosa mentre ne faccio un’altra e intanto qualcos’altro sta lavorando da se’: tutto cio’ per compensare la noia di un pomeriggio soleggiato-ma-io-non-sono-al-mare.

ehi io voglio solo vedere come fai il backup..”

Purtroppo, se state pensando tutto cio’, mi sa che avete quasi indovinato l’andazzo: l’articolo che vi somministrero‘ non e’ altro che un racconto di tutto cio’ che mi passa per la testa mentre che GigaByte di roba vengono sistematicamente confrontati ed eventualmente salvati nell’apposita cartellina con scritto “in caso di disastro“.

Purtroppo, per giustificare la mia presenza in questa rubrica, qualche informazione tecnica, scritta alla meno peggio, dovro’ pur darla; ma giuro’ di seppellirla dentro una coltre di parole che segue alla perfezione l’atteggiamento politico-filosofico dei politici italiani K.I.B.B. (Keep It Buried, Brat).

Parole Buttate al Vento.

Dunque, la prima cosa che mi sovviene in mente e’ che in verita’ non ci dovrebbe mai essere una giornata backup. In un mondo ideale, avrei il mio bel serverino con hd dedicato allo storage backup e lui su base periodica dovrebbe occupare di tutta la lan senza fiatare: pena il taglio dell’elettricita’.

Purtroppo il raspberry-schiavo-a-basso-consumo e’ ancora in viaggio e quindi, per questa tornata, faro’ il backup in modo grezzo e manuale.

The Story So Far..

Tanto tempo fa, comprai un disco esterno da 500GB, e lo dedicai al backup di cose multimediali. Poi iniziai a usare debian testing, poi a mischiarla con debian unstable, poi azzardai l’importazione di roba da debian experimental, e tanti tanti casini entrarono nella mia vita.

L’alternativa era formattare ogni 6 mesi e seguire il passo di ubuntu. Ma che senso ha?? Voglio dire, personalizzare il proprio sistema per renderlo uguale ad una poltrona comoda e poi sostituirlo dopo 6 mesi. No Sense.

La debian mixture puo’ essere anche peggio.

Dunque dovevo trovare una soluzione, e la chiamai ogni sera, nudo nell’oscurita’ della mia stanza. E lei venne.

1) Il pinning di debian aiuta. Poche righe e istruisci il sistema su dove prendere cosa, pur avendo tutto a disposizione.

root@tenseiga:~# cat /etc/apt/preferences

Package: *

Pin: release a=testing

Pin-Priority: 850



Package: *

Pin: release a=unstable

Pin-Priority: -1



Package: *

Pin: release a=experimental

Pin-Priority: -1

2) simulazioni, debfoster e molta pulizia aiutano.

3) in ogni caso i disastri arriveranno, prima o poi. Errore umano, guasto tecnico, pura sfortuna, non importa che nome abbia, il disastro non se ne cura. Un buon backup risolve la giornata.

Dunque il backup e’ la mia soluzione, e bisogna renderla accettabile, dunque automatizzata. Dunque va scriptata (una serie di comandi messi in fila all’altro che dicono al sistema cosa fare senza bisogno di interazione umana).

E questo ci porta all’altro titoletto dell’articolo, dal nome:

[intanto rullo di tamburi]

[per favore]

Sistema Rudimentale di Backup Semi-Automatico.

Il semi automatico si riferisce al fatto che serve un umano, dotato di pollice opponibile, che sappia come inserire un disco usb, nella comoda interfaccina usb (Yippie-Kai-Yay!!), e avviare lo script di backup.

Supponiamo che abbiate tale umano, uno script di backup potrebbe essere questo

root@tenseiga:/media/Mayu_ext4/backup/tenseiga# ls

backup-home.sh  backup-root.sh  root

root@tenseiga:/media/Mayu_ext4/backup/tenseiga# cat backup-root.sh

#!/bin/bash

OPTION='--terminal-verbosity 5'

RDIFF_BACKUP=`which rdiff-backup`

$RDIFF_BACKUP $OPTION --exclude '/dev/*' --exclude '/tmp/*' \
--exclude '/proc/*' --exclude '/mnt/*' --exclude '/sys/*' \
--exclude '/media/*' --exclude '/home/*' \
--exclude '/lost+found/*'   / root

il programma utilizzato e’ rdiff-backup, che permette il backup di cartelle remote. Vi ho gia’ parlato del mio mondo ideale?

Le opzioni si commentano da sole: in pratica ho escluso tutte quelle cartelle di cui non voglio il backup, perche’ e’ semplicemente inutile, sono cartelle ripopolate automaticamente dal sistema ad ogni avvio, o sono cartelle utente che meritano backup in separata sede.

Particolare menzione merita, invece, la sintassi ‘/dev/*’. In pratica sto dicendo al programma di creare una copia della cartella ‘/dev’ e di lasciarla vuota. Tutto cio’ si rivelera’ utile in caso di ripristino.. non vorreste mai ritrovarvi con un sistema che deve ripopolare una cartella mancante!

Le prime 3 righe dello script non sono nulla di eccezionale, semplice prassi di ogni script, in cui va specificato l’interprete dei comando (bash), e dove trovare il programma rdiff-backup. Questo perche’ non e’ sempre detto che ogni volta che avviate lo script, la variabile di sistema, $PATH, sia sempre settata, e, nel caso che non sia settata, meglio specificare il path assoluto del programma. Sotto linux tutti i comandi necessitano di path assoluto, magari non ve ne accorgete perche’ il vostro file .bashrc ha gia’ svolto parecchio lavoro noioso al vostro posto.

Ok, fine della pappardella noiosa, spostiamoci di sezione e andiamo a vedere alcuni risultati di questo pomeriggio noioso.

Risultati

Backup Baldur’s Gate 2

C’era bisogno? No, pero’ sto gioco lo sto partorendo e assolutamente non ricomincero’ mai una nuova partita. Dunque e’ bene che io finisca, tra 10 anni, quella attuale anche se dovessi cambiare macchina e sistema operativo: mi serve ripristinare tutto alla svelta e senza errori. Anche la mera reinstallazione del gioco voglio evitare :D

Inoltre il backup incrementale occupa veramente poco, come si vede.

+->$ rdiff-backup --list-increment-sizes BaldursGate2_gog/

        Time                       Size        Cumulative size

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

Sun May 19 16:10:01 2013         2.83 GB           2.83 GB   (current mirror)

Wed Feb 27 21:59:45 2013          130 KB           2.83 GB

League Of Legends

C’era bisogno? si, in passato gli aggiornamenti (1 ogni due settimane) erano problematici e molti casi documentano errori irreversibili con conseguente reinstallazione da zero. Io ho voluto evitare questo pericolo.\ Come vediamo, ogni backup aggiunge 1G alla nostra cartella. Considerando che ogni tanto e’ bene dare un rdiff-backup —remove-older-than 6M (rimuovi backup vecchi piu’ di 6 mesi), direi che tutto sommato lo spazio e’ contenuto.

| allanon@tenseiga  /media/Mayu_ext4/backup/Playonlinux 16:21:45

+->$ rdiff-backup --list-increment-sizes LeagueOfLegends/

        Time                       Size        Cumulative size

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

Sun May 19 16:10:10 2013         4.36 GB           4.36 GB   (current mirror)

Wed Feb 27 21:47:04 2013         1.09 GB           5.45 GB

Mon Dec 31 09:19:38 2012         1.30 GB           6.74 GB

Guild Wars 2

E’ una new-entry, il backup incrementale pesa solo 2GB, e devo dire che mi e’ andata anche bene visto che GW2 si presenta con un file .dat lungo 16GB.

| allanon@tenseiga  /media/Mayu_ext4/backup/Playonlinux 17:57:52

+->$ rdiff-backup --list-increment-sizes GuildWars2/

        Time                       Size        Cumulative size

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

Sun May 19 15:11:00 2013         16.3 GB           16.3 GB   (current mirror)

Wed Feb 27 22:11:22 2013         2.09 GB           18.4 GB

| allanon@tenseiga  /media/Mayu_ext4/backup/Playonlinux 17:58:03

+->$ ll ~/PlayOnLinux\'s\ virtual\ drives/GuildWars2/drive_c/Program\ Files/ArenaNet/Guild\ Wars\ 2/

totale 16G

-rwxrwxrwx 1 allanon allanon    0 mag 18 17:32 Gw2.tmp

drwx------ 2 allanon allanon 4,0K dic 20 02:50 Music

-rw-r--r-- 1 allanon allanon 220K feb  4 01:05 Crash.dmp

-rwxrwxrwx 1 allanon allanon  22M mag 18 17:31 Gw2.exe

-rw------- 1 allanon allanon  33M dic 23 13:57 Local.dat

-rwxrwxrwx 1 allanon allanon  16G mag 18 17:36 Gw2.dat

Sistema Operativo

Questo scritto fino ad ora per farvi capire l’efficienza di questo rdiff-backup.

Adesso passiamo al caso iniziale, il motivo per cui e’ nato tutto cio’: il backup del sistema Gnu/Debian.

root@tenseiga:/media/Mayu_ext4/backup/tenseiga# rdiff-backup --list-increment-sizes root/

        Time                       Size        Cumulative size

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

Sun May 19 17:32:39 2013         12.4 GB           12.4 GB   (current mirror)

Wed Feb 27 22:25:36 2013          614 MB           13.0 GB

Wed Dec 19 03:40:13 2012          557 MB           13.5 GB

Mon Jul 16 02:47:43 2012         2.17 GB           15.7 GB

Come vediamo ci sono 4 versioni, 1 corrente e 3 backup. Direi che il backup dell’anno scorso potrei benissimo eliminarlo.. e anche quello di dicembre, visto che la versione di Febbraio funziona a meraviglia.

Il backup incrementale serve a questo: tenere informazioni fino a che non si dimostrano inutili. Ad esempio cambiate qualcosa, ve ne dimenticate e gli effetti si notano mesi dopo? ci vuole un backup incrementale! Occupa poco spazio e racchiude la storia di mesi/anni/decenni.

E questo e’ lo spazio che dedico al backup. Non ve ne sfrega niente, ma io devo riempire questo spazio.

root@tenseiga:/media/Mayu_ext4# du -sch backup/*

53G    backup/Ayu

32G    backup/backup xp

8,1G    backup/kanna

7,7G    backup/LOL

1,2G    backup/Morrowind

35G    backup/Playonlinux

46G    backup/popetta

20K    backup/router

4,7G    backup/serin

5,7G    backup/Skyrim

12K    backup/tar

19G    backup/tenseiga

4,0K    backup/tessaiga

34M    backup/tt.tgz

209G    totale

yippie kay yay



Comments