script backup personale(suggerimenti)

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
zoros
Linux 4.x
Linux 4.x
Messaggi: 1362
Iscritto il: lun 28 mag 2007, 22:51
Nome Cognome: Fabio`Zorba`
Slackware: 15.0
Kernel: 5.15.19smp
Desktop: Trinity R14.0.11
Località: Gorizia

Re: script backup personale(suggerimenti)

Messaggio da zoros »

spina ha scritto: Ma veramente io avevo capito che aveva un problema anche con le opzioni, ecco perchè gli ho postato lo script che uso, perchè, oltre a fargli vedere un modo diverso per fare il backup (non mi piace vedere tutti quei cp), quello script usa le opzioni. Di estetica ne capisco poco :)

Spina
Non si trattava di estetica ma di sintassi :) ... comunque era un invito in generale a documentare le istruzioni usate ... una sola istruzione resa in modo comprensibile (qualche volta dico che le espressioni regolari sono un paradosso dell'open source: chi le capisce ?) può essere molto utile agli altri, più utile di un complesso script ... infatti alcune tue istruzioni (quelle che ho capito perché documentate) mi sono state molto utili ... in fin dei conti le idee sono utili, non le istruzioni ...

un invito quindi ad essere meno ermetici perché alla fine è più bravo chi trova e motiva un codice convincente ...
vorrei riavere le mie firme ...

Avatar utente
tigerwalk
Linux 3.x
Linux 3.x
Messaggi: 895
Iscritto il: lun 25 feb 2008, 22:08
Nome Cognome: Giuliano della Vecchia
Slackware: 13.37-14.2
Kernel: 3.10.17-tiger / 4.4.88-smp
Desktop: kde4/xfce4
Località: Napoli

Re: script backup personale(suggerimenti)

Messaggio da tigerwalk »

In effetti, la mia richiesta era specificamente rivolta ad un suggerimento per come inserire delle opzioni nel mio script che mi facessero fare il backup di alcuni file/directory a seconda o meno della presenza delle opzioni stesse.
Ad un certo punto del discorso, essendo ignorante in materia, non sono riuscito a seguire bene lo sviluppo della discussione. Resta valida la richiesta di un aiuto (anche generico) di come fare ad inserire delle opzioni (ed a utilizzarle) nel mio script!
Grazie.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: script backup personale(suggerimenti)

Messaggio da targzeta »

Bhé, il pezzo del mio script che si occupa di gestire le opzioni è:

Codice: Seleziona tutto

while getopts :aupsh opzione; do
case $opzione in
   a) ${SCRIPT_NAME} c classes cpp php src bin Config Script System symbolik;;
   u) ${SCRIPT_NAME} bin Script Config symbolik;;
   p) ${SCRIPT_NAME} c classes cpp php src;;
   s) ${SCRIPT_NAME} System;;
   h) _help; exit;;
   ?) _exit "-${OPTARG} : Argomento non valido." 1;
    esac
done

# Shift degli argomenti in modo da avere $1 che punta al primo argomento che non è una opzione
while (( $OPTIND != 1 )); do
    shift;
    let --OPTIND;
done
Dai

Codice: Seleziona tutto

info bash 'Shell Builtin Commands'
e poi cerca 'getopts' con il comano '/', per capire come si usa.

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
MAT
Linux 4.x
Linux 4.x
Messaggi: 1242
Iscritto il: mer 9 mar 2005, 0:00
Nome Cognome: Matteo Magni
Kernel: 2.6.20
Desktop: Fluxbox
Distribuzione: Gentoo
Località: Vignola, Modena

Re: script backup personale(suggerimenti)

Messaggio da MAT »

Io mi sono fatto uno script in perl per fare il backup delle risorse sulle macchine GNU/Linux e FreeBSD che amministro. Indico le risorse da backuppare in un file di testo, una per riga. Esse possono essere percorsi assoluti a files o directories oppure database mysql, nella sintassi

Codice: Seleziona tutto

mysql://utente:password@host:porta/database
o * al posto di "database" per indicare tutti quelli cui l'utente ha accesso. Prima di lanciare lo script (ovviamente via cron) ne viene scaricata l'ultima versione via rsync con lo script seguente:

Codice: Seleziona tutto

#!/bin/sh
# Prende l'ultimo script di backup

BACKUPDIR=/root/backup
/usr/bin/rsync -r rsync://10.0.0.236/backup $BACKUPDIR
$BACKUPDIR/backup.pl < $BACKUPDIR/$1
Quando lo modifico mi basta quindi posizionarlo su una sola macchina (la 10.0.0.236) per distribuirlo su tutte.
Le directory vengono tar-gzippate e i dump di mysql vengono gzippati, il tutto posizionato dentro una directory che poi viene caricata su un'altra macchina via ftp.
Per allegare i files ho dovuto appendere un ".txt" alla fine del nome, va quindi eliminato e

Codice: Seleziona tutto

chmod +x backup.pl
Va poi modificato il config.pl, indicando i percorsi corretti dei programmi richiesti e le credenziali per l'accesso all'eventuale server ftp. Quindi lanciare backup.pl con le risorse in STDIN.

Codice: Seleziona tutto

./backup.pl < backuplist
E' un anno e mezzo che non lo tocco, quindi se avete migliorie da suggerire sono le benvenute! Spero comunque che possa dare qualche spunto a qualcuno.
Allegati
backuplist.txt
Elenco risorse
(147 Byte) Scaricato 61 volte
config.pl.txt
File di configurazione
(259 Byte) Scaricato 61 volte
backup.pl.txt
Script di backup
(8.87 KiB) Scaricato 61 volte

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: script backup personale(suggerimenti)

Messaggio da Mario Vanoni »

@MAT

Interessante, anche se non conosco/uso perl(1).

Ottimo, perche' e` molto facile da mantenere,
usando backuplist al posto di files/dirs "hard coded".

Rispondi