venerdì 13 aprile 2012

Il mio server internet personale parte 8 : Backup


"Salvami dalla rottura di un disco, sono il tuo lavoro e non voglio smarrirmi su una penna usb o nel disordine del tuo hd esterno."
Potrei mettere una copia del mio lavoro sul server google docs o sul server ubuntu one, ma dopo un po mi scordo sicuro.Forse potrei  istruire il mio server internet personale per farlo con una cadenza costante :), forse è più affidabile ... vediamo come.

all'inizio volevo montare una nuvola come un file system, ma non è stato possibile con google docs o ubuntu one, dopo di che ho cambiato la filosofia :)

Al momento urge fare una copia di sicurezza del lavoro, soprattutto dei sorgenti dei programmi scritti e conservati nel server svn.
Ho risolto usando ubuntu 1, vediamo come :
innanzi tutto ho acceduto in modalità grafica alla macchina, per farlo ho usato tightvncserver
dalla classica shell del server ho dato
apt-get install tightvncserver
quindi l'ho lanciato
tightvncserver
e mi ha chiesto di immettere la password.
a questo punto ho usato il comando
netstat
per controllare con certezza quale è la porta tcp su cui sta ascoltando e mi sono collegato dal mio pc su cui la tastiera funziona con un client tightvnc :).
ho installato ubuntu one e l'ho configurato con il mio account.
Ubuntu one ha creato una cartella Ubuntu One nella mia home e la terrà sincronizzata.
dentro questa cartella ho creato una cartella svn, e sono tornato alla shell.
da root come sempre ho creato un file cron.sh con il seguente contenuto e l'ho chiamato cron.sh:

#!/bin/bash
NOW=$(date +"%Y-%m-%d")
FILE="backup.$NOW.tar.bz2"
tar -cjvf /home/utente/Ubuntu\ One/svn/$FILE /var/svn/repository
chown utente:utente /home/utente/Ubuntu\ One/svn/$FILE

la prima riga dice che è uno script
la seconda crea una variabile che contiene la data odierna espressa come anno-mese-giorno
la terza specifica che il nome del file deve contenere la data
la quarta fa partire una compressione della cartella che contiene i repository svn dei miei progetti
e siccome è una operazione che fa root, risistema i permessi del file appena creato, così è pronto per il sync.

ultimo passaggio, dobbiamo ancora dire quando fare in automatico questo backup. per questo usiamo crontab e digitiamo
crontab -e
io scelgo di usare nano per editare il file e metto questa riga :)

 0 2 * * * /root/cron.sh

che fa partite lo script sopra tutti i giorni alle 2 di notte.
sostituendo l'ultimo asterisco con una cifra da 0 a 6 era possibile farlo settimanalmente.

e spiegato così sembra che ci vogliono 5 minuti per farlo :(

Nota bene nessuno dei metodi sotto avevano portato a risultati positivi !!

Questi sono stati i tentativi che sono andati male, li lascio per chi volesse leggere :)

Innanzi tutto se non ce l'ho già mi iscrivo ad ubuntu one e mi creo un account
ovviamente è gratuito se vi bastano 5 gb https://one.ubuntu.com/
abbiamo quindi il nostro account  e la nostra password, passiamo all'installazione del software necesario.
Su linux è possibile montare in una cartella una cartella webdav. Non sono parolacce, montare significa che possiamo dire che nella cartella /mnt/ubuntuone verrà collegato il contenuto della cartella che abbiamo sul server di ubuntu, così da poterci leggere e scrivere come se fosse in locale, il server di ubuntu usa una tecnologia chiamata webdav :). passiamo ai comandi.

da una ricerca approfondita esce fuori che ubuntu one non usa webdav come qualcuno suggeriva, quindi, se vogliamo montare il file system per accedervi dobbiamo cambiare piattaforma, proviamo google docs :
 A  questo punto il discorso sembra essere in discesa, perchè troviamo una semplice guida che proviamo a seguire... innanzi tutto andiamo qui: http://code.google.com/p/gdocsfs/
prendiamo il percorso per scaricare i file necessari che al momento in cui scrivo è http://gdocsfs.googlecode.com/files/gdocsfs-0.0.1.zip
e cominciamo a lavorare :)
a me piace lamerare e lavorare come root :)
sudo su
diamo password
cd /root
wget http://gdocsfs.googlecode.com/files/gdocsfs-0.0.1.zip
potrebbe salvarlo con un nome strano, nel caso rinominiamo lasciando solo  gdocsfs-0.0.1.zip
mv cosastranagdocsfs-0.0.1.zip gdocsfs-0.0.1.zip

unzip gdocsfs-x.y.z.zip
cd gdocsfs
ora dobbiamo scegliere dove installarlo... un buon linuxiano farebbe un ambiente
per il backup, un utente appostito o un gruppo con privilegi specifici ben
congegnato in maniera tale da preservare la sicurezza, ma noi siamo alle prime armi
e non vogliamo lanciare i missili, abbiamo bisogno di un modo semplice per fare il
backup quindi continuiamo a lamerare con il nostro utente root. sudo ./install /root/
nano -w /root/gdocsfs/conf/gdocsfs.proprerties
aggiungiamo utente e password
e non funziona neppure questo, evidentemente il progetto deve essere vecchio
perchè non si collega e cerca una connessione ssl.
abbiamo già perso 2 giornate, ma non ci fermiamo, e soprattutto non le perderete voi a fare le ricerche.

proviamo adesso con https://launchpad.net/google-docs-fs
procediamo quindi con aggiungere il repository mantenuto da questo italiano di nome Invernizzi :)
nano -w /etc/apt/sources.list
aggiungiamo 2 righe
deb http://ppa.launchpad.net/invernizzi/google-docs-fs/ubuntu VERSIONE_TUA_DI_UBUNTU main deb-src http://ppa.launchpad.net/invernizzi/google-docs-fs/ubuntu VERSIONE_TUA_DI_UBUNTU main
ricordate di cambiare VERSIONE_TUA_DI_UBUNTU con il nome della vostra
atp-get update
apt-get install google-docs-fs
ed abbiamo finito
lanciamo
gmount /mnt/gdocs nomeutente@gmail.com
mi chiede la password e non funziona :(


Nessun commento:

Posta un commento