[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Aiuto su Script



Questo script lo uso per fare il backup su DVD.
Si ferma al punto in cui ho scritto :

L A P A R T E SOTTO NON VIENE MAI ESEGUITA !!!!!


Ci sto perdendo gli occhi e non trovo l'errore. Qualcuno per piacere mi può aiutare a capire perchè non esegue appunto quella parte ?
Grazie mille 

#!/bin/sh

# Backup su DVD-RW - file /backup.sh

clear

X=`date +%Y%m%d-%H%M`.log

DATA_BACKUP=`date +%Y%m%d-%H%M`.bk

LOG="/w1/log/$X"

echo

echo "######## PROCEDURA BACKUP ARCHIVI SIGEST (SIM) DVD-RW ########" >> $LOG

echo

echo -n " ----> Assegnazione variabili.... " >> $LOG

SRC="">

SRC2="/etc"

LISTAESCLUSIONE="/w1/exclude_list"

TMP="/w1/tmp/"

TAR="/w1/tmp/sim.tar"

IMG="/w1/tmp/sigest.iso"

DVDRW="1000,2,0 100002"

DEVDVD="/dev/hdc"

MNTISO="/mnt/iso"

MEDIADVD="/media/cdrom0"

CONFIG_FILEISO="/lista-daiso"

CHECKSUM_FILEISO="/checksums-daiso.md5.txt"

CONFIG_FILEMEDIA="/lista-dadvd"

CHECKSUM_FILEMEDIA="/checksums-media.md5.txt"

MD5SUM_C_ISO="/md5sum-c_iso.md5.txt"

MD5SUM_C_DVD="/md5sum-c_dvd.md5.txt"

ERRORE_COPIA="ERRORE COPIA"

MANCA_DVD="DVD MANCANTE O ILLEGGIBILE O NON MONTATO"

HOME1="/home/roberta/"

HOME2="/home/simonetta/"

UTENTE1="roberta"

UTENTE2="simonetta"

ESTENSIONE="txt"

PATHLOG="/w1/log"

PATHSOURCE="/"

SENDER="sigest@pippo.com"

FAILED="FAILED"

WARNING="WARNING"

SI_DVD="/si_dvd"

NO_DVD="/no_dvd"

SE_DVD="/se_dvd"

MD5SUM_CONTROL="/md5_control.txt"

NOMECC="sigest.ecc"

GIORNO=`date +%a`

MATTINO="/w1/week/sera/$GIORNO/$NOMECC"

MAIL_01="pippo@pippo.it"

MAIL_02="topolino@gmail.com"

MAIL_03="amministrazione@azienda.com"

MAIL_04="serviziofornitori@azienda.com"

S="s"

echo > $LOG

echo -n "Inizio log **************************************************** " >> $LOG

date >> $LOG

echo >> $LOG

sleep 2

echo "OK Inizio Procedura di Backup."

echo "OK Inizio Procedura di Backup." >> $LOG

echo

logger -p daemon.info 1.Inizio backup

# Cancellazione directory di appoggio

logger -p daemon.info "2.Cancellazione file in $TMP"

cd $TMP

echo " ----> Situazione pre-copie " >> $LOG

echo " ----> Situazione pre-copie "

ls -al $TMP >> $LOG 2>&1

echo " ----> Cancellazione files precedenti..." >> $LOG

echo " ----> Cancellazione files precedenti..."

rm -vrf $TMP* >> $LOG 2>&1

sleep 2

echo "OK Effettuata cancellazione tmp"

echo "OK Effettuata cancellazione tmp" >> $LOG

echo

echo " " >> $LOG

echo " ----> Creazione del file iso ...." >> $LOG

echo " ----> Creazione del file iso ...."

logger -p daemon.info 3.Creazione del file iso

cd $PATHSOURCE

rm -vrf *.bk

date > $DATA_BACKUP

# mkisofs -R -J -l -o $IMG -exclude-list $LISTAESCLUSIONE / >> $LOG 2>&1

genisoimage -R -J -l -o $IMG -exclude-list $LISTAESCLUSIONE $PATHSOURCE >> $LOG 2>&1

du -s -m $TMP >> $LOG

#sync

date >> $LOG

echo "OK Creata Immagine ISO."

echo "OK Creata Immagine ISO." >> $LOG

echo

echo "Cambio permessi ISO"

echo "Cambio permessi ISO" >> $LOG

echo

chown sigest:sigest $IMG >> $LOG

chmod 777 $IMG >> $LOG >> $LOG

echo

echo "Copia su vshare sigest.iso"

echo "Copia su vshare sigest.iso" >> $LOG

mount -t vboxsf vshare /media/vbox_share -o uid=`id -u`,gid=`id -g` >> $LOG

cp -vf $IMG /media/vbox_share/ >> $LOG

umount /media/vbox_share >> $LOG

echo

rm -rfv $SI_DVD >> $LOG

rm -rfv $NO_DVD >> $LOG

rm -rfv $SE_DVD >> $LOG

echo "Chiudo il Cassettino" >> $LOG

echo "Chiudo il Cassettino"

eject -vt >> $LOG

sleep 60

echo "Monto cdrom" >> $LOG

echo "Monto cdrom"

mount -v /media/cdrom >> $LOG

sleep 180

if [[ $(df | grep hdc | wc -l) -eq 0 ]]; then

echo "MANCA DVD MONTATO ? ILLEGGIGILE ? VERGINE ?" >> $LOG

echo "MANCA DVD MONTATO ? ILLEGGIGILE ? VERGINE ?"

echo "TENTERO SCRITTURA PER VEDERE SE VERGINE" >> $LOG

echo "TENTERO SCRITTURA PER VEDERE SE VERGINE"

touch $SE_DVD >> $LOG

else

touch $SI_DVD >> $LOG

echo " ----> Formattazione DVD-RW......" >> $LOG

echo " ----> Formattazione DVD-RW......"

logger -p daemon.info 4.Formattazione del DVD-RW

dvd+rw-format -blank $DEVDVD >> $LOG 2>&1 || rm $SI_DVD >> $LOG ; touch $NO_DVD >> $LOG

sleep 60

ls -l /media/cdrom0 >> $LOG

sleep 60

echo "Tentativo di Formattazione Supporto Effettuata."

echo "Tentativo di Formattazione Supporto Effettuata." >> $LOG

echo " ----> Scrittura DVD-RW......"

echo " ----> Scrittura DVD-RW......" >> $LOG

# Scrittura dati sul dvd-rw con espulsione dvd-rw

echo " ----> Scrittura DVD-RW......" >> $LOG

echo " ----> Scrittura DVD-RW......"

logger -p daemon.info 5.Scrittura su DVD-RW

sync

sleep 300

growisofs -dvd-compat -Z $DEVDVD=$IMG >> $LOG 2>&1 || rm $SI_DVD >> $LOG; touch $NO_DVD >> $LOG

echo "Tentativo di Scrittura su supporto Terminata." >> $LOG

echo "Tentativo di Scrittura su supporto Terminata."

fi

if [ -f $SE_DVD ]; then

echo "TENTO SCRITTURA PER VEDERE SE VERGINE" >> $LOG

echo "TENTO SCRITTURA PER VEDERE SE VERGINE"

echo " ----> Scrittura DVD-RW......" >> $LOG

echo " ----> Scrittura DVD-RW......"

sync

date >> $LOG

sleep 300

growisofs -dvd-compat -Z $DEVDVD=$IMG >> $LOG && touch $SI_DVD >> $LOG

else

touch $NO_DVD >> $LOG

fi

# Controllo Scrittura Dati

date >> $LOG

echo "Controllo Scrittura."

echo "Controllo Scrittura." >> $LOG

echo " " >> $LOG

rm -vf $CHECKSUM_FILEISO >> $LOG 2>&1

rm -vf $CHECKSUM_FILEMEDIA >> $LOG 2>&1

umount $MNTISO >> $LOG 2>&1

mount -t iso9660 $IMG $MNTISO -o loop >> $LOG 2>&1

cd $MNTISO >> $LOG 2>&1

#find -exec md5sum >> $CHECKSUM_FILEISO {} \;

#find /mnt/iso -type f -exec cat {} \; |md5sum >> $CHECKSUM_FILEISO

find $MNTISO -type f -print0 | xargs -0 md5sum >> $CHECKSUM_FILEISO

if [ -f $SI_DVD ]

then

echo " ----> Controllo Scrittura DVD-RW......" >> $LOG

echo " ----> Controllo Scrittura DVD-RW......"

umount $DEVDVD >> $LOG 2>&1

mount $DEVDVD $MEDIADVD >> $LOG 2>&1

cd $MEDIADVD >> $LOG 2>&1

echo " Contenuto DVD " >> $LOG

ls -la >> $LOG

#find -exec md5sum >> $CHECKSUM_FILEMEDIA {} \;

#find /media/cdrom -type f -exec cat {} \; |md5sum >> $CHECKSUM_FILEMEDIA

find $MEDIADVD -type f -print0 | xargs -0 md5sum >> $CHECKSUM_FILEMEDIA

fi

cd /

#--------------------------------------------------------------------

# La parte seguente e' stata eliminata e sostituita dal controllo

# sul file con md5sum -c che confronta hash con il file

# controllando cosi anziche copia.iso vs copiadvd

# copia.iso vs file su disco - copiadvd vs file su disco

#--------------------------------------------------------------------

#echo -n " ----> Controllo Differenze fra iso e DVD " >> $LOG

#echo -n ": " >> $LOG

#diff -s $CHECKSUM_FILEISO $CHECKSUM_FILEMEDIA >> $LOG

#echo -n "___________________________________________________ " >> $LOG

echo " ----> Controllo hash dei file " >> $LOG

echo " ----> Controllo hash dei file "

echo " " >> $LOG

echo " ----> Controllo hash dei file sigest.iso " >> $LOG

echo " ----> Controllo hash dei file sigest.iso "

if [ -f $MD5SUM_C_ISO ]

then rm -vf $MD5SUM_C_ISO >> $LOG 2>&1

echo "Cancellato" " " $MD5SUM_C_ISO

echo "Cancellato" " " $MD5SUM_C_ISO >> $LOG

fi

if [ -f $MD5SUM_C_DVD ]

then rm -vf $MD5SUM_C_DVD >> $LOG 2>&1

echo "Cancellato" " " $MD5SUM_C_DVD

echo "Cancellato" " " $MD5SUM_C_DVD >> $LOG

fi

if [ -f $MD5SUM_CONTROL ]

then rm -vf $MD5SUM_CONTROL >> $LOG 2>&1

echo "Cancellato" " " $MD5SUM_CONTROL

echo "Cancellato" " " $MD5SUM_CONTROL >> $LOG

fi

if [ -f $CHECKSUM_FILEISO ]

then md5sum -c $CHECKSUM_FILEISO >> $MD5SUM_C_ISO

fi


echo " ----> Controllo presenza dvd e eventualmente hash file su DVD" >> $LOG

echo " ----> Controllo presenza dvd e eventualmente hash file su DVD"

if [[ $(df | grep hdc | wc -l) -eq 0 ]]; then

echo "MANCA DVD MONTATO O ILLEGGIGILE" >> $LOG

echo "MANCA DVD MONTATO O ILLEGGIGILE"

sendEmail -f $SENDER -t $MAIL_01 -u $MANCA_DVD -m $MANCA_DVD -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_02 -u $MANCA_DVD -m $MANCA_DVD -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_03 -u $MANCA_DVD -m $MANCA_DVD -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_04 -u $MANCA_DVD -m $MANCA_DVD -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

else

echo " ----> Controllo hash dei file su DVD " >> $LOG

echo " ----> Controllo hash dei file su DVD "

md5sum -c $CHECKSUM_FILEMEDIA >> $MD5SUM_C_DVD

echo " ----> Creato file si_dvd " >> $LOG

echo " ----> Creato file si_dvd "

fi

echo " ----> Ricerca grep per hash errati sigest.iso " >> $LOG

echo " ----> Ricerca grep per hash errati sigest.iso "

for file in $MD5SUM_C_ISO

do

if [ -f $file ];

then grep -n $FAILED $MD5SUM_C_ISO >> $MD5SUM_CONTROL;

grep -n $WARNING $MD5SUM_C_ISO >> $MD5SUM_CONTROL;

echo "Effettuata ricerca file corrotti su md5sum della iso" >> $LOG

echo "Effettuata ricerca file corrotti su md5sum della iso"

else

echo "ATTENZIONE IL FILE " $MD5SUM_C_ISO "NON ESISTE !!!" >> $LOG

echo "ATTENZIONE IL FILE " $MD5SUM_C_ISO "NON ESISTE !!!"

echo "ATTENZIONE IL FILE " $MD5SUM_C_ISO "NON ESISTE !!!"

sendEmail -f $SENDER -t $MAIL_01 -u $ERRORE_COPIA -m $MD5SUM_C_ISO " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_02 -u $ERRORE_COPIA -m $MD5SUM_C_ISO " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_03 -u $ERRORE_COPIA -m $MD5SUM_C_ISO " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_04 -u $ERRORE_COPIA -m $MD5SUM_C_ISO " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG


fi

done

if [ -f $SI_DVD ]

then echo " ----> Ricerca (grep) per hash errati su DVD " >> $LOG

echo " ----> Ricerca (grep) per hash errati su DVD "

if [ -f $MD5SUM_C_DVD ]

then grep -n $FAILED $MD5SUM_C_DVD >> $MD5SUM_CONTROL;

grep -n $WARNING $MD5SUM_C_DVD >> $MD5SUM_CONTROL;

echo "Effettuata ricerca file corrotti su md5sum del dvd" >> $LOG

echo "Effettuata ricerca file corrotti su md5sum del dvd"

else

echo "ATTENZIONE IL FILE " $MD5SUM_C_DVD "NON ESISTE !!!" >> $LOG

echo "ATTENZIONE IL FILE " $MD5SUM_C_DVD "NON ESISTE !!!"

sendEmail -f $SENDER -t $MAIL_01 -u $ERRORE_COPIA -m $MD5SUM_C_DVD " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_02 -u $ERRORE_COPIA -m $MD5SUM_C_DVD " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_03 -u $ERRORE_COPIA -m $MD5SUM_C_DVD " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

sendEmail -f $SENDER -t $MAIL_04 -u $ERRORE_COPIA -m $MD5SUM_C_DVD " NON ESISTE " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $LOG

fi

fi

if [ -f $SI_DVD ]

then echo "Controllo se md5sum -c su dvd andato a buon fine o esistono file corrotti" >> $LOG

echo "Controllo se md5sum -c su dvd andato a buon fine o esistono file corrotti"

if [ -s $MD5SUM_CONTROL ];

then echo "ATTENZIONE ERRORE md5" >> $LOG

echo "ATTENZIONE ERRORE md5"

sendEmail -f $SENDER -t $MAIL_01 -u "ERRORE md5 in Backup" -m " md5sum CON ERRORE check allegato " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

sendEmail -f $SENDER -t $MAIL_02 -u "ERRORE md5 in Backup" -m " md5sum CON ERRORE check allegato " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

sendEmail -f $SENDER -t $MAIL_03 -u "ERRORE md5 in Backup" -m " md5sum CON ERRORE check allegato " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

sendEmail -f $SENDER -t $MAIL_04 -u "ERRORE md5 in Backup" -m " md5sum CON ERRORE check allegato " -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

cat $MD5SUM_CONTROL >> $LOG

fi

fi

if [ -f $SI_DVD ]

then

if [ ! -s $MD5SUM_CONTROL ]

then echo "NON CI SONO ERRORI md5" >> $LOG

sendEmail -f $SENDER -t $MAIL_01 -u "Backup OK" -m "Controllo Backup andato a buon fine 2" -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

sendEmail -f $SENDER -t $MAIL_02 -u "Backup OK" -m "Controllo Backup andato a buon fine 2" -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

sendEmail -f $SENDER -t $MAIL_03 -u "Backup OK" -m "Controllo Backup andato a buon fine 2" -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

sendEmail -f $SENDER -t $MAIL_04 -u "Backup OK" -m "Controllo Backup andato a buon fine 2" -s mail.191.biz -xu utente@utentespa.191.it -xp password -a $MD5SUM_CONTROL $LOG

fi

fi


L A P A R T E SOTTO NON VIENE MAI ESEGUITA !!!!!

______________________________________________


echo >> $LOG

date >> $LOG

ls -l /checks* >> $LOG

cp -vf $LOG $HOME1 >> $LOG

cp -vf $LOG $HOME2 >> $LOG

if [ -f $MD5SUM_C_ISO ]

then cp -vf $MD5SUM_C_ISO $HOME1 >> $LOG

cp -vf $MD5SUM_C_ISO $HOME2 >> $LOG

fi

if [ -f $MD5SUM_C_DVD ]

then cp -vf $MD5SUM_C_DVD $HOME1 >> $LOG

cp -vf $MD5SUM_C_DVD $HOME2 >> $LOG

fi

if [ -f $MD5SUM_CONTROL ]

then cp -vf $MD5SUM_CONTROL $HOME1 >> $LOG

cp -vf $MD5SUM_CONTROL $HOME2 >> $LOG

fi

cd $HOME1 >> $LOG

chown $UTENTE1:$UTENTE1 $X >> $LOG

NOMETXT1=`echo $X|cut -d"." -f1`

mv $X `echo $NOMETXT1.$ESTENSIONE`;

for file in md5*

do

chown $UTENTE1:$UTENTE1 $file >> $LOG

done

cd $HOME2 >> $LOG

chown $UTENTE2:$UTENTE2 $X >> $LOG

NOMETXT2=`echo $X|cut -d"." -f1`

mv $X `echo $NOMETXT2.$ESTENSIONE`;

for file in md5*

do

chown $UTENTE2:$UTENTE2 $file >> $LOG

done

echo " " >> $LOG

if [ -f $SI_DVD ]

#lpr -Plp2 $LOG

then echo "Creo file ecc per dvdisaster" >> $LOG

echo "Creo file ecc per dvdisaster"

dvdisaster -c -i $IMG -e $MATTINO >> $LOG 2>&1

fi

echo >> $LOG

cd $MEDIADVD >> $LOG 2>&1

ls -la >> $LOG

cd

umount $DEVDVD >> $LOG 2>&1

umount $MNTISO >> $LOG 2>&1

echo "..." >> $LOG

ls -l $IMG >> $LOG

date >> $LOG

echo "Fine LOG ********************************" >> $LOG

echo "Fine LOG ********************************"

date >> $LOG

eject $DEVDVD


Reply to: