Hardware e software per sistema backup pianificati e sicuri?

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

sberla54 ha scritto: - come posso concatenare piu' directory da escludere con il parametro --exclude?
guarda io sono allergico alle regex (mi tocca studiarci una giornata per farne una :-P) se le directory sono poche puoi anche passarle a manina... io ad esempio uso cygwin su windows e quando faccio i back up uso:

Codice: Seleziona tutto

rsync -a --exclude="RECYLER" --exclude="System Volume Information" /cygdrive/d /cygdrive/f
d è la mia "home" e f è la partizione di back up

M

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Messaggio da sberla54 »

Sì, in quel caso dovresti modificare il crontab, su Slackware dovrebbe stare in /var/spool/cron/crontabs/
Un esempio nel tuo caso potrebbe essere:
Codice:
0 0 * * 0,2,3 /root/backup.sh &> /root/backup.log
Fa partire il backup (alla mezzanotte) ogni Domenica, Martedì e Giovedì.
Perfetto grazie :)
E se volessi farlo partire alle 4, per esempio? Di solito a mezzanotte ci sono io al pc...preferirei lavorasse pesantemente mentre dormo...
--exclude prende come parametro un pattern... quindi basta specificare un filtro adeguato. Oppure puoi usare "--exclude-from=FILE" che risulta un po' più facile da gestire.
Uhm...scusami ma non mi e' ancora chiaro. Exclude quindi puo' avere un solo pattern da escludere?
Io vorrie escludere piu' directory...ad esempio "video.musicali" che e' immensa e, anche se la dovessi perdere potrei sempre riscaricarla.
"Exclude-from=FILE" a che serve?

Sto chiedendo troppo e devo andarmi a leggere le guide in autonomia? :) :)

Ops questo non lo avevo letto:
guarda io sono allergico alle regex (mi tocca studiarci una giornata per farne una :-P) se le directory sono poche puoi anche passarle a manina... io ad esempio uso cygwin su windows e quando faccio i back up uso:
Codice:
rsync -a --exclude="RECYLER" --exclude="System Volume Information" /cygdrive/d /cygdrive/f
Bhe direi che non e' un problema per me aggiungere 3 o 4 directory da escludere a mano.
Aggiungero' anche il parametro che cancella i files non piu' presenti in sorgente ma ancora presenti in destinazione, cosi' ho una sincronizzazione perfetta.

In questo modo, quindi, avro' una sola directory sempre sincronizzata con quella sorgente giusto?
Non ho piu' directory con, ad esempio, la data di esecuzione del backup e gli stessi dati ripetuti in ogni directory?

Mi chiedevo un altro paio di cose:
- posso in qualche modo scrivere un log, anche solo un file di testo con la data, che mi dica quando e' stato eseguito l'ultimo backup e se e' andato tutto a buon fine?
- visto che voglio montare il disco esterno, backuppare e smontare, devo usare qualche accortezza a riguardo? al primo comando di mount spesso e volentieri il disco da errore perche' deve iniziare lo spinning e si deve preparare...se dessi un mount via script, ad esempio:
mount /external01/ && rsync blablabla
immagino si bloccherebbe per l'errore di mount.

Grazie!" :)

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

sberla54 ha scritto: In questo modo, quindi, avro' una sola directory sempre sincronizzata con quella sorgente giusto?
Non ho piu' directory con, ad esempio, la data di esecuzione del backup e gli stessi dati ripetuti in ogni directory?
esatto una dir che è il mirror esatto della sorgente!
Mi chiedevo un altro paio di cose:
- posso in qualche modo scrivere un log, anche solo un file di testo con la data, che mi dica quando e' stato eseguito l'ultimo backup e se e' andato tutto a buon fine?

Codice: Seleziona tutto

rsync [opzioni varie] -v sorgente destinazione &> rsync-$(date +%Y%m%d%H%M%S).log
-v è la flag per il verbose: elenca i file copiati. l'output e gli eventuali errori sono rediretti sul log!
- visto che voglio montare il disco esterno, backuppare e smontare, devo usare qualche accortezza a riguardo? al primo comando di mount spesso e volentieri il disco da errore perche' deve iniziare lo spinning e si deve preparare...se dessi un mount via script, ad esempio:
mount /external01/ && rsync blablabla
immagino si bloccherebbe per l'errore di mount.

Grazie!" :)
beh... rishiosissimo ma se sei sicuro che prima o poi si monti puoi fare una schifezza tipo:

Codice: Seleziona tutto

IS_UNMOUNTED=1
IDLE_TIME=2
while $IS_UNMOUNTED; do
    mount [opzioni varie] device mount-point && IS_UNMOUNTED=0 || sleep $IDLE_TIME;
done

#resto del codice qui...
in pratica tenta di montare ogni tot secondi (2), però rischi il loop mortale :-)

M

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Messaggio da sberla54 »

LOL, peso cosi'.

Solo che mi scoccia lasciar sempre montato il disco esterno.

Non e' piu' intelligente montarlo solo quando serve?
Cosi' ne aumento la vita e ne riduco l'usura no?

Qualche altro modo per risolvere la cosa?

Potrei mettere in dcop alcuni mount ad intervalli regolari, schedulati tipo 15 minuti prima dello scrip di backup...

Avatar utente
Luci0
Staff
Staff
Messaggi: 3591
Iscritto il: lun 27 giu 2005, 0:00
Nome Cognome: Gabriele Santanché
Slackware: 12.2 14.0
Kernel: 2.6.27.46- gen 3.2.29
Desktop: KDE 3.5.10 Xfce
Località: Forte dei Marmi
Contatta:

Messaggio da Luci0 »

Una presa con il timer che accende e spegne il box con l' hard disk ...per esempio ... proprio da sfaticati ... !!!

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Messaggio da sberla54 »

auhduhsu sarebbe bellissimo :)

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da sberla54 »

Dunque, fino ad ora ho usato Keep, che tutto sommato e' carino, pero' mi da degli errori strani in continuazione quindi mi fido poco, il che non e' un bene per i backup.

Ora mi son messo dietro a prepararmi uno script, chiamato backup.sh.

Vi sembra corretto cosi?:

Codice: Seleziona tutto

#!/bin/bash
rsync -av --delete --exclude="/home/sberla54/linux.iso" --exclude="/home/sberla54/download" --exclude="/home/sberla54/PC" --exclude="/home/sberla54/PS2" /home/sberla54 /external01/sberla54_bkp && rsync -av --delete /home/witch04 /external01/witch04_bkp && umount /external01/
Funzionera?
Devo backuppare le home complete dei 2 utenti che ho qui sul pc (me e mia sorella), escludendo alcune directory della mia home.

Mi chiedevo:
1) le directory dell'exclude vanno scritte cosi', con percorso totale, o basta solo il relativo, tipo "download"=
2) posso mettere il primo rdiff ed il secondo su 2 righe diverse, se in fondo alla prima c'e' &&? (pure curiosita').
3) funzionera l'umount messo li?

Se va bene lo inizio a cronnare tipo alle 5 di ogni giorno.
Prima faccio un paio di mount /external01/ a distanza di qualche minuto e son sicuro che non avro' problemi col mount.

Grazie! :)

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da conraid »

Io faccio così

Codice: Seleziona tutto

#!/bin/sh

SOURCE="/home/blank/"
DEST="/mnt/backup/blank/"
OPTIONS="-rLtgopDxv --delete-after"
EXCLUDE="--exclude-from=nobackup3.txt"
INCLUDE="--include-from=backup.txt"

case "$1" in

"-c" )
echo "Checking..."
rsync $OPTIONS $INCLUDE $EXCLUDE --dry-run $SOURCE $DEST
;;

"-b" )
echo "Copying..."
rsync $OPTIONS $INCLUDE $EXCLUDE $SOURCE $DEST
;;

*)
echo "Usage: `basename $0` {-c|-d}"
echo -e "\t-c : Check for backup"
echo -e "\t-b : Backup"
exit
;;

esac

Per inclusione ed esclusione mi creo file separati.

Quando vedo che funziona metto in cron script -b

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da sberla54 »

Oscia parecchio figo cosi' O_O :)

Dunque, di bash ne so' veramente poca, bisogna che mi dia una mossa e m'impari alcune cose...comunque ci sono alcune cose che non capisco ma dovrebbero essere semplici:

Codice: Seleziona tutto

OPTIONS="-rLtgopDxv --delete-after"
Come mai tutti quei parametri? A che servono? Vedo che pero' non hai messo "a" che mettono tutti...
Perche' --delete-after invece che --delete?

Codice: Seleziona tutto

EXCLUDE="--exclude-from=nobackup3.txt"
INCLUDE="--include-from=backup.txt"
Se per semplicita' volessi esplicitare le directory direttamente qui nello script come dovrei fare?
Giusto per curiosita'...

Codice: Seleziona tutto

"-c" )
echo "Checking..."
rsync $OPTIONS $INCLUDE $EXCLUDE --dry-run $SOURCE $DEST
;;
Questi "check for backup" a che serve?

Codice: Seleziona tutto

esac
E questo? :)

Grazie mille veramente un bello script!!

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da conraid »

sberla54 ha scritto:Oscia parecchio figo cosi' O_O :)

Dunque, di bash ne so' veramente poca, bisogna che mi dia una mossa e m'impari alcune cose...comunque ci sono alcune cose che non capisco ma dovrebbero essere semplici:

Codice: Seleziona tutto

OPTIONS="-rLtgopDxv --delete-after"
Come mai tutti quei parametri? A che servono? Vedo che pero' non hai messo "a" che mettono tutti...
-a è uguale a mettere -rlptgoD, ma io voglio usare L perché devo portarmi nel backup anche delle dir che nella home sono dei symlink.
ti faccio un esempio
~/.amule da me è un link ad una dir in un'altra partizione, ma voglio inserirla nel backup
-a non mi permette di farlo perché copia .amule come symlink, mentre L copia .amule direttamente dal symlink, così che tu hai nel backup anche i file dentro .amule

Spero di essermi spiegato

-x lo uso per sicurezza, nel senso che non "attraversa" i filesystem, e questo mi serve se sbaglio nei symlink per evitare di avere doppioni o loop :-)
-v lo uso solo quando avvio a mano, mi fa vedere cosa fa, in cron non ce lo metto
sberla54 ha scritto: Perche' --delete-after invece che --delete?
Perché prima mette i nuovi file e poi cancella quelli che non ci sono più.
Se io dico di cancellare prima e salta la corrente? :-)
In questo caso non so quanto è utile, quando sincronizzo le directory remote invece si, altrimenti perdo file se cade la connessione. Per sincronizzare il ramo di current per esempio uso

Codice: Seleziona tutto

OPTIONS="-avz --delete-after"
Come vedi qui uso -a perché non ho symlink da portarmi dietro

Anche questo per precauzione insomma
sberla54 ha scritto:

Codice: Seleziona tutto

EXCLUDE="--exclude-from=nobackup3.txt"
INCLUDE="--include-from=backup.txt"
Se per semplicita' volessi esplicitare le directory direttamente qui nello script come dovrei fare?
Giusto per curiosita'...
Sempre dal file che uso per aggiornare current

Codice: Seleziona tutto

EXCLUDE="--exclude=source --exclude=pasture --exclude=slackware/kdei --exclude=zipslack --exclude=patches --exclude=extra/aspell-word-lists --exclude=extra/source --exclude=extra/ham"
sberla54 ha scritto:

Codice: Seleziona tutto

"-c" )
echo "Checking..."
rsync $OPTIONS $INCLUDE $EXCLUDE --dry-run $SOURCE $DEST
;;
Questi "check for backup" a che serve?
Non fa il backup ma ti mostra cosa "farebbe" (--dry-run).
Diciamo che è un test. Anche questo mi serve più per remoto, ma male non fa
sberla54 ha scritto:

Codice: Seleziona tutto

esac
E questo? :)

Questo è la fine del case :-)
Perché ho detto di prendere $1
insomma, devo dare

Codice: Seleziona tutto

script -c
o

Codice: Seleziona tutto

script -b
UPDATE
naturalmente la scelta tra -l e -L valutala bene

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da sberla54 »

-a è uguale a mettere -rlptgoD, ma io voglio usare L perché devo portarmi nel backup anche delle dir che nella home sono dei symlink.
ti faccio un esempio
Allora a me basta -a....non ho symlinks da portarmi dietro...li usavo quando backuppavo su dvd, e giusto per la directory della posta...
Perché prima mette i nuovi file e poi cancella quelli che non ci sono più.
Se io dico di cancellare prima e salta la corrente?
Bhe, tanto cancella quelli sulla destinazione no?
Quindi al limite perdi dei files che hai gia' cancellato sulla sorgente...e che quindi andrebbero cancellati...no? O mi perdo qualcosa?
Non fa il backup ma ti mostra cosa "farebbe" (--dry-run).
Diciamo che è un test. Anche questo mi serve più per remoto, ma male non fa
Gia!
Ottimo!
EXCLUDE="--exclude=source --exclude=pasture --exclude=slackware/kdei --exclude=zipslack --exclude=patches --exclude=extra/aspell-word-lists --exclude=extra/source --exclude=extra/ham"
Ah ok era ovvio :)
Ma non ho ancora capito come vanno inserite ste directory.
Se devo escludere /home/sberla54/divx cosa devo scrivere? Solo --exclude=divx ?


Ah, un'ultimissima cosa, con uno script come questo per backuppare 2 home, come facevo con quello semplice che avevo postato io, cosa devo fare? Faccio 2 script e li cronno uno dopo l'altro?

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da conraid »

sberla54 ha scritto: Bhe, tanto cancella quelli sulla destinazione no?
Quindi al limite perdi dei files che hai gia' cancellato sulla sorgente...e che quindi andrebbero cancellati...no? O mi perdo qualcosa?
Dipende. Ti faccio un esempio.
tu hai pippo-1-i486.tgz ed esce pippo-2-i486.tgz
Se aggiorni normalmente cancella pippo-1 e dopo mette pippo-2, oppure prima mette pippo-2 e poi cancella pippo-1
Se succede qualcosa dopo la cancellazione tra un evento e l'altro ti ritrovi o senza pippo (delete) o con due pippo (delete-after). A te la scelta di quale sia la soluzione giusta *per te*

sberla54 ha scritto: Ma non ho ancora capito come vanno inserite ste directory.
Se devo escludere /home/sberla54/divx cosa devo scrivere? Solo --exclude=divx ?
Dipende da quale è la root del backup.
Se parti da /home/sberla54 devi mettere --exclude=divx
sberla54 ha scritto: Ah, un'ultimissima cosa, con uno script come questo per backuppare 2 home, come facevo con quello semplice che avevo postato io, cosa devo fare? Faccio 2 script e li cronno uno dopo l'altro?
Ecco invece un caso diverso da sopra.
Io partirei da /home.
E toglierei quello che non ti serve
Quello di sopra diventerebbe --exclude=/sberla54/divx e poi ci aggiungi per esempio ftp e tutte le altre dir che non ti servono.
Vedi come siamo diversi. Per te semplicitià è mettere tanti --exclude in una riga, per me è mettere un file separato, anche perché nel mio caso le directory da escludere sono molte.

Un suggerimento. Se gli dici di escludere divx lui escludere tutte le directory che si chiamano divx
Ti faccio un esempio con il mirror della current.
Io tra gli exclude ho source, lui non mi scaricava nemmeno testing/source
Quindi per farlo scaricare ho messo in INCLUDE testing/source
Stai attento a questo comportamento di rsync, forse ti conviene partire da /home anche per questo, così hai sempre sberla54/qualcosa da escludere e non ti confondi con le dir di tua sorella.
E per vedere cosa fa c'è sempre --dry-run e -v :-)

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da sberla54 »

Se aggiorni normalmente cancella pippo-1 e dopo mette pippo-2, oppure prima mette pippo-2 e poi cancella pippo-1
Se succede qualcosa dopo la cancellazione tra un evento e l'altro ti ritrovi o senza pippo (delete) o con due pippo (delete-after). A te la scelta di quale sia la soluzione giusta *per te*
Pero' nella sorgente rimane tutto uguale no?
Questo m'interessa :)
Ecco invece un caso diverso da sopra.
Io partirei da /home.
E toglierei quello che non ti serve
Quello di sopra diventerebbe --exclude=/sberla54/divx e poi ci aggiungi per esempio ftp e tutte le altre dir che non ti servono
Il fatto e' che devo anche backuppare della roba che sta in /arch/ che e' il secondo disco....quindi forse tantovale fare 3 script, o quantomeno 2, uno per le home ed uno per arch.

Qui mi sorge un dubbio importante...prima concatenavo con && e quindi ero sicuro che il secondo comando iniziasse solo una volta terminato con successo il primo...qui invece come posso fare?
Devo gestirmela con cron? Lanciando gli script, non so, a 15 minuti di distanza l'uno dall'altro? Oppure li lancio tutti assieme e li lascio lavorare in parallelo e me ne frego?

Gia' che ci sono ti chiedo un'altra cosa: c'e' modo di fare eseguire i comandi all'interno di una shell? Cioe', che quando lo script parte tramite cron, apra comunque una shell? Giusto per vedere cosa sta facendo.
Anche questa e' curiosita, ne faccio anche a meno, pero' sarebbe figo :)
Vedi come siamo diversi. Per te semplicitià è mettere tanti --exclude in una riga, per me è mettere un file separato, anche perché nel mio caso le directory da escludere sono molte.
Effettivamente inizio a capire l'utilita' di avere dei files separati :)
Il tuo script originale me lo sono salvato, al limite torno anche io all'impostazione a files separati.
Un suggerimento. Se gli dici di escludere divx lui escludere tutte le directory che si chiamano divx
Se io lo frego lasciando le directory assolute, come avevo postato adesso (/home/sberla54/qualcosa)?

Oh conrad grazie veramente un sacco!

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da conraid »

sberla54 ha scritto: Pero' nella sorgente rimane tutto uguale no?
Sì, certo. Ci mancherebbe altro.
sberla54 ha scritto: Il fatto e' che devo anche backuppare della roba che sta in /arch/ che e' il secondo disco....quindi forse tantovale fare 3 script, o quantomeno 2, uno per le home ed uno per arch.

Qui mi sorge un dubbio importante...prima concatenavo con && e quindi ero sicuro che il secondo comando iniziasse solo una volta terminato con successo il primo...qui invece come posso fare?
Devo gestirmela con cron? Lanciando gli script, non so, a 15 minuti di distanza l'uno dall'altro? Oppure li lancio tutti assieme e li lascio lavorare in parallelo e me ne frego?
Puoi fare uno script con diversi rsync al suo interno volendo. Ci sono tante strade per raggiungere lo Slack ;-)

sberla54 ha scritto: Gia' che ci sono ti chiedo un'altra cosa: c'e' modo di fare eseguire i comandi all'interno di una shell? Cioe', che quando lo script parte tramite cron, apra comunque una shell? Giusto per vedere cosa sta facendo.
Anche questa e' curiosita, ne faccio anche a meno, pero' sarebbe figo :)
Al volo non mi viene ma penso che invece di > /dev/null potresti redirigere l'output in una console
sberla54 ha scritto:
Un suggerimento. Se gli dici di escludere divx lui escludere tutte le directory che si chiamano divx
Se io lo frego lasciando le directory assolute, come avevo postato adesso (/home/sberla54/qualcosa)?
L'importante è che la directory di partenza sia quella giusta
Nel mio script SOURCE è /home/blank
tu puoi mettere

Codice: Seleziona tutto

SOURCE="/"
ed allora tutto diventa assoluto

Avatar utente
sberla54
Master
Master
Messaggi: 1500
Iscritto il: gio 24 giu 2004, 0:00
Slackware: 13.0
Desktop: Gnome (o Fluxbox)
Distribuzione: Ubuntu
Località: Bologna
Contatta:

Re: Hardware e software per sistema backup pianificati e sicuri?

Messaggio da sberla54 »

Dunque, credo di aver risolto in maniera decentemente elegante.

Vi posto tutto, se qualcuno volesse scopiazzare :)

Questo e' il primo script, che copia la /home/, comprensiva delle 2 sottocartelle home utente, con alcuni exclude:

Codice: Seleziona tutto

#!/bin/sh
SOURCE="/home/"
DEST="/external01/home_bkp"
OPTIONS="-av --delete"
EXCLUDE="--exclude=sberla54/download --exclude=sberla54/linux.ISO --exclude=/sberla54/PC --exclude=/sberla54/PS2  --exclude=/sberla54/.aMule --exclude=/ftp"
#OPTIONS="-rLtgopDxv --delete-after"
#EXCLUDE="--exclude-from=nobackup3.txt"
#INCLUDE="--include-from=backup.txt"

case "$1" in

"-c" )
echo "Checking..."
rsync $OPTIONS $EXCLUDE --dry-run $SOURCE $DEST
;;

"-b" )
echo "Copying..."
rsync $OPTIONS $EXCLUDE $SOURCE $DEST
;;

*)
echo "Usage: `basename $0` {-c|-b}"
echo "-c : Check for backup"
echo "-b : Backup"
exit
;;

esac
Questo invece e' lo script che backuppa la directory della musica....

Codice: Seleziona tutto

#!/bin/sh
SOURCE="/arch/musica/"
DEST="/external01/arch_bkp"
OPTIONS="-av --delete"
#EXCLUDE=""
#OPTIONS="-rLtgopDxv --delete-after"
#EXCLUDE="--exclude-from=nobackup3.txt"
#INCLUDE="--include-from=backup.txt"

case "$1" in

"-c" )
echo "Checking..."
rsync $OPTIONS $EXCLUDE --dry-run $SOURCE $DEST
;;

"-b" )
echo "Copying..."
rsync $OPTIONS $EXCLUDE $SOURCE $DEST
;;

*)
echo "Usage: `basename $0` {-c|-b}"
echo "-c : Check for backup"
echo "-b : Backup"
exit
;;

esac
Il tutto l'ho inserito in /var/spool/cron/root in modo che venga eseguito alle 5 di ogni notte.
Ho inserito 4 mount successivi, a distanza di 1 minuto l'uno, per essere sicuro che il disco esterno esca dallo stand-by e venga veramente montato. Nelle prime prove, con 2 o 3 mount a distanza di 3 o 4 minuti, il disco non veniva montato (non so bene perche') e lo script copiava le home in /external01/, come fosse una directory della partizione / , riempiendo la partizione stessa.
Ho provato stanotte questa nuova configurazione e funziona.
Inoltre ho usato il mount in verbose, cosi' creo un log dove viene scritto l'avvenuto montaggio e smontaggio.
Anche gli script di backup salvano cio' che fanno in 2 files di log, resettati ogni volta, cosi' posso vedere cosa viene copiato e cosa cancellato...

Codice: Seleziona tutto

# If you don't want the output of a cron job mailed to you, you have to direct
# any output to /dev/null.  We'll do this here since these jobs should run
# properly on a newly installed system, but if they don't the average newbie
# might get quite perplexed about getting strange mail every 5 minutes. :^)
#
# Run the hourly, daily, weekly, and monthly cron jobs.
# Jobs that need different timing may be entered into the crontab as before,
# but most really don't need greater granularity than this.  If the exact
# times of the hourly, daily, weekly, and monthly cron jobs do not suit your
# needs, feel free to adjust them.
#
# Run hourly cron jobs at 47 minutes after the hour:
47 * * * * /usr/bin/run-parts /etc/cron.hourly 1> /dev/null
#
# Run daily cron jobs at 4:40 every day:
40 4 * * * /usr/bin/run-parts /etc/cron.daily 1> /dev/null
#
# Run weekly cron jobs at 4:30 on the first day of the week:
30 4 * * 0 /usr/bin/run-parts /etc/cron.weekly 1> /dev/null
#
# Run monthly cron jobs at 4:20 on the first day of the month:
20 4 1 * * /usr/bin/run-parts /etc/cron.monthly 1> /dev/null

57 4 * * * mount -v /external01/ >> /var/log/backupmount
58 4 * * * mount -v /external01/ >> /var/log/backupmount
59 4 * * * mount -v /external01/ >> /var/log/backupmount
00 5 * * * mount -v /external01/ >> /var/log/backupmount ; /usr/sbin/backuphome.sh -b > /var/log/backuphome && /usr/sbin/backuparch.sh -b > /var/log/backuparch ; umount -v /external01/ >> /var/log/backupmount
Detto questo, grazie a tutti delle dritte, e grazie a Conraid per gli script :)

Se avete qualche altro consiglio lo ascolto!
Ciao!

Rispondi