Repository 32bit  Forum
Repository 64bit  Wiki

Backup con rsync

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Backup con rsync

Messaggioda samiel » mar ago 07, 2012 19:36

Ho trovato in rete alcuni script per automatizzare il backup con rsync.
Dopo qualche sistematina, ho questo script che però mi dà errore:
Codice: Seleziona tutto
#!/bin/bash

SOURCE="{~/argomentare,articoli,bibliografie,cataloghi,condominio,
copertine,cratilo,dialettica,dizionario,documenti,elisp,ermeneutica,
esperienza,ezine,fichte,filosofi,guide_debian,guide_latex,
guide_linux,guide_php,guide_slackware,html4dummies,mail,manuale,
mutt4dummies,neopositivisti,noneuclidee,novecento,protagonisti,
protagonisti_nuovo,public_html,retorica,s4d_project,sabina,sacchettino,
Scaricati,schelling,scuola,slack4dummies,slackbook,songs,storia,tesi,
texmf,tin4dummies,tractatus,xindy}"   # Directory di origine di cui fare il backup
TARGET="/media/CORSAIR"      # Directory di destinazione dove cui fare il backup
#EXCLUDE="/home/max/.rsync/exclude"   # Lista file da escludere
date=`date "+%y-%M-%D"` # Data del backup; %H_%M per avere anche l'orario
TAG="backup" # tag dei log scritti in /var/log/messages

# VERIFICA CHE IL DISCO SIA MONTATO
MOUNTED=$(df | grep $TARGET |awk '{print $6}')
if [ "$MOUNTED" == "$TARGET" ]
then
   echo "Il disco è montato: eseguo il backup"
   logger Inizio backup di $SOURCE per `hostname` -t $TAG
   rsync -rvu --progress --exclude-from=$EXCLUDE $SOURCE $TARGET/
   RSYNCERR=$?
   logger Fine backup per `hostname` rsync ha restituito $RSYNCERR -t $TAG
   exit 0
else
   echo "Il disco non è montato"
   logger Impossibile eseguire il backup di `hostname` disco non montato -t $TAG
   exit 1
fi

Lanciandolo, ricevo:
Codice: Seleziona tutto
samiel@samiel:~$ sh backup.sh
backup.sh: 18: [: /media/CORSAIR: unexpected operator
Il disco non è montato

Ma la chiavetta USB è correttamente montata...

PS
Ometto l'opzione -a per poter fare un backup su chiavetta
formattata FAT32 di modo che sia leggibile anche nelle macchine Windows.
Giusto?

Grazie
M
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Backup con rsync

Messaggioda samiel » mar ago 07, 2012 20:29

Allora, ho visto che sh supporta una sintassi limitata,
l'errore viene meno lanciando lo script con bash.
Invece lo script continua a non trovare montato il dispositivo...

M
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Backup con rsync

Messaggioda notsafe » mar ago 07, 2012 21:51

prova ad usare "=" al posto di "==" come operatore.
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 447
Iscritto il: mar mar 21, 2006 12:00

Re: Backup con rsync

Messaggioda samiel » mar ago 07, 2012 22:00

gIÀ PROVATO,
MA MI DICE SEMPRE CHE IL DISCO NON È MONTATO...

m
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Backup con rsync

Messaggioda notsafe » mar ago 07, 2012 22:24

allora prova ad eseguirlo con "sh -x" e vedi "in debug mode" i vari step dello script: forse da li riesci a identificare il motivo dell'errore.
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 447
Iscritto il: mar mar 21, 2006 12:00

Re: Backup con rsync

Messaggioda samiel » mer ago 08, 2012 0:08

Codice: Seleziona tutto
samiel@samiel:~$ bash -x backup.sh
+ SOURCE='{~/argomentare,articoli,bibliografie,cataloghi,condominio,
copertine,cratilo,dialettica,dizionario,documenti,elisp,ermeneutica,
esperienza,ezine,fichte,filosofi,guide_debian,guide_latex,
guide_linux,guide_php,guide_slackware,html4dummies,mail,manuale,
mutt4dummies,neopositivisti,noneuclidee,novecento,protagonisti,
protagonisti_nuovo,public_html,retorica,s4d_project,sabina,sacchettino,
Scaricati,schelling,scuola,slack4dummies,slackbook,songs,storia,tesi,
texmf,tin4dummies,tractatus,xindy}'
+ TARGET=/media/CORSAIR/
++ date +%y-%M-%D
+ date=12-06-08/08/12
+ TAG=backup
++ df
++ awk '{print $6}'
++ grep /media/CORSAIR/
+ MOUNTED=
+ [[ '' == \/\m\e\d\i\a\/\C\O\R\S\A\I\R\/ ]]
+ echo 'Il disco non è montato'
Il disco non è montato
++ hostname
+ logger Impossibile eseguire il backup di archivio disco non montato -t backup
+ exit 1

Vede il disco cnme non montato, non mi pare qui venga aggiunto un elemento nuovo :-(

M
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Backup con rsync

Messaggioda targzeta » mer ago 08, 2012 1:48

L'errore è chiaro, questo comando non va a buon fine:
Codice: Seleziona tutto
MOUNTED=$(df | grep $TARGET |awk '{print $6}')
ma cosa dovrebbe fare? Se vuoi sapere se il disco è montato non ti basta fare:
Codice: Seleziona tutto
if grep -q $TARGET /proc/mounts
? Oppure:
Codice: Seleziona tutto
if mount | grep -q $TARGET
?

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 5906
Iscritto il: gio nov 03, 2005 15:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Backup con rsync

Messaggioda notsafe » mer ago 08, 2012 8:26

Codice: Seleziona tutto
++ df
++ awk '{print $6}'
++ grep /media/CORSAIR/
+ MOUNTED=


MOUNTED non viene valorizzato.Prova ad eseguire il comando manualmente,e verifica quale campo sta selezionando awk.
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 447
Iscritto il: mar mar 21, 2006 12:00

Re: Backup con rsync

Messaggioda samiel » mer ago 08, 2012 13:32

Ho modificato lo script così:
Codice: Seleziona tutto
# VERIFICA CHE IL DISCO SIA MONTATO
if mount | grep -q $TARGET
then
   echo "Il disco è montato: eseguo il backup"
   Inizio backup di $SOURCE per `hostname` -t $TAG
#   rsync -arvu --progress --exclude-from=$EXCLUDE $SOURCE $TARGET RSYNCERR=$?
   rsync -rvu --progress $SOURCE $TARGET RSYNCERR=$?
   logger Fine backup per `hostname`: rsync ha restituito $RSYNCERR -t $TAG
   exit 0
else
   echo "Il disco non è montato"
   logger Impossibile eseguire il backup di `hostname`: disco non montato -t $TAG
   exit 1
fi

ma il risultato è sempre:
Codice: Seleziona tutto
samiel@samiel:~$ bash -x backup.sh
+ SOURCE='{~/argomentare,articoli,bibliografie,cataloghi,condominio,
copertine,cratilo,dialettica,dizionario,documenti,elisp,ermeneutica,
esperienza,ezine,fichte,filosofi,guide_debian,guide_latex,
guide_linux,guide_php,guide_slackware,html4dummies,mail,manuale,
mutt4dummies,neopositivisti,noneuclidee,novecento,protagonisti,
protagonisti_nuovo,public_html,retorica,s4d_project,sabina,sacchettino,
Scaricati,schelling,scuola,slack4dummies,slackbook,songs,storia,tesi,
texmf,tin4dummies,tractatus,xindy}'
+ TARGET=/media/CORSAIR/
++ date +%y-%M-%D
+ date=12-29-08/08/12
+ TAG=backup
+ mount
+ grep -q /media/CORSAIR/
+ echo 'Il disco non è montato'
Il disco non è montato
++ hostname
+ logger Impossibile eseguire il backup di archivio: disco non montato -t backup
+ exit 1

Eppure:
Codice: Seleziona tutto
samiel@samiel:~$ df
File system                                            1K-blocchi     Usati Disponib. Uso% Montato su
rootfs                                                   77992664  11346572  62739888  16% /
udev                                                        10240         0     10240   0% /dev
tmpfs                                                      207336       632    206704   1% /run
/dev/disk/by-uuid/226a1c04-6d9a-4bab-a705-f6dd776ea0e4   77992664  11346572  62739888  16% /
tmpfs                                                        5120         0      5120   0% /run/lock
tmpfs                                                      414672        36    414636   1% /tmp
tmpfs                                                      414672        80    414592   1% /run/shm
/dev/sda3                                               187159716 116061452  61727952  66% /home
/dev/sdb1                                               106344560  57236632  43782384  57% /mnt/archivio
/dev/sdb2                                                26716608   5639436  19737756  23% /mnt/slackware
/dev/sdb3                                                26708576  21238068   4131492  84% /mnt/ubuntu
/dev/sda1                                                25607576  19691604   5915972  77% /mnt/windows
/dev/sdc1                                                31287312   8115456  23171856  26% /media/CORSAIR

per cio sdc1 o CORSAIR che dir si voglia c'è...
M
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Backup con rsync

Messaggioda notsafe » mer ago 08, 2012 14:37

Codice: Seleziona tutto
+ TARGET=/media/CORSAIR/


Codice: Seleziona tutto
/dev/sdc1                                                31287312   8115456  23171856  26% /media/CORSAIR


TARGET deve essere /media/CORSAIR senza / finale
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 447
Iscritto il: mar mar 21, 2006 12:00

Re: Backup con rsync

Messaggioda samiel » mer ago 08, 2012 19:24

Giusto, senza / finale!
Maper la selezione di directory multiple?
Come ho scritto io mi dà:
Codice: Seleziona tutto
rsync: change_dir "/home/samiel//{~/argomentare,/

con quella cosa strana /home/samiel//{~/argomentare
Mi pareva che la graffa consentisse di raggruppare velocemente
più directory...

M
samiel
Staff
Staff
 
Messaggi: 5419
Iscritto il: ven gen 16, 2004 1:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti