Il giorno 13 dicembre 2010 14:59, dea <d...@corep.it> ha scritto: > Ciao pac ! > > Due osservazioni: > > -) Hai mica una versione identata come si deve ? Così è difficile capire la > struttura, case/if/cicli... non salta all'occhio l'inizio e la fine... non > vorrei che *questa parte non viene mai eseguita* perchè ti è sfuggito > qualcosa. >
Intanto e comunque grazie, ecco spero che questa vada un po' meglio #!/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="/home" 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="sig...@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/mattino/$GIORNO/$NOMECC" MAIL_01="pi...@pippo.it" MAIL_02="topol...@gmail.com" MAIL_03="amministrazi...@azienda.com" MAIL_04="serviziofornit...@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 ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_02 -u $MANCA_DVD -m $MANCA_DVD -s mail.191.biz -xu ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_03 -u $MANCA_DVD -m $MANCA_DVD -s mail.191.biz -xu ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_04 -u $MANCA_DVD -m $MANCA_DVD -s mail.191.biz -xu ute...@utentespa -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 ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_02 -u $ERRORE_COPIA -m $MD5SUM_C_ISO " NON ESISTE " -s mail.191.biz -xu ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_03 -u $ERRORE_COPIA -m $MD5SUM_C_ISO " NON ESISTE " -s mail.191.biz -xu ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_04 -u $ERRORE_COPIA -m $MD5SUM_C_ISO " NON ESISTE " -s mail.191.biz -xu ute...@utentespa -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 ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_02 -u $ERRORE_COPIA -m $MD5SUM_C_DVD " NON ESISTE " -s mail.191.biz -xu ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_03 -u $ERRORE_COPIA -m $MD5SUM_C_DVD " NON ESISTE " -s mail.191.biz -xu ute...@utentespa -xp password -a $LOG sendEmail -f $SENDER -t $MAIL_04 -u $ERRORE_COPIA -m $MD5SUM_C_DVD " NON ESISTE " -s mail.191.biz -xu ute...@utentespa -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 ute...@utentespa -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 ute...@utentespa -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 ute...@utentespa -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 ute...@utentespa -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 ute...@utentespa -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 ute...@utentespa -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 ute...@utentespa -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 ute...@utentespa -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 > -) Ma sei *proprio* sicuro di voler usare un dvd-rw per fare i backup ???? > > No, non me l'ha ordinato il dottore di far usare i dvd-rw cosa mi suggeriresti ? Con i dvd-rw copio solo i dati Tieni presente che i dati sono file isam e quindi occupano relativamente poco 1.2 Gb se non ricordo male. grazie ancora > Ciao > > Luca > > > -- > Per REVOCARE l'iscrizione alla lista, inviare un email a > debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per > problemi inviare un email in INGLESE a listmas...@lists.debian.org > > To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: http://lists.debian.org/20101213135623.m55...@corep.it > >