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

Re: Aiuto su Script



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

pac ha scritto:
> 
> 
> Il giorno 13 dicembre 2010 14:59, dea <dea@corep.it
> <mailto:dea@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="sigest@pippo.com <mailto: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/mattino/$GIORNO/$NOMECC"
> MAIL_01="pippo@pippo.it <mailto:pippo@pippo.it>"
> MAIL_02="topolino@gmail.com <mailto:topolino@gmail.com>"
> MAIL_03="amministrazione@azienda.com <mailto:amministrazione@azienda.com>"
> MAIL_04="serviziofornitori@azienda.com
> <mailto: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 <http://daemon.info> 1.Inizio backup
> # Cancellazione directory di appoggio
> logger -p daemon.info <http://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 <http://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 <http://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 <http://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 <http://mail.191.biz> -xu utente@utentespa -xp password -a $LOG
>    sendEmail -f $SENDER -t $MAIL_02 -u $MANCA_DVD -m $MANCA_DVD -s
> mail.191.biz <http://mail.191.biz> -xu utente@utentespa -xp password -a $LOG
>    sendEmail -f $SENDER -t $MAIL_03 -u $MANCA_DVD -m $MANCA_DVD -s
> mail.191.biz <http://mail.191.biz> -xu utente@utentespa -xp password -a $LOG
>    sendEmail -f $SENDER -t $MAIL_04 -u $MANCA_DVD -m $MANCA_DVD -s
> mail.191.biz <http://mail.191.biz> -xu utente@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 <http://mail.191.biz> -xu
> utente@utentespa -xp password -a $LOG
>             sendEmail -f $SENDER -t $MAIL_02 -u $ERRORE_COPIA -m
> $MD5SUM_C_ISO " NON ESISTE  " -s mail.191.biz <http://mail.191.biz> -xu
> utente@utentespa -xp password -a $LOG
>             sendEmail -f $SENDER -t $MAIL_03 -u $ERRORE_COPIA -m
> $MD5SUM_C_ISO " NON ESISTE  " -s mail.191.biz <http://mail.191.biz> -xu
> utente@utentespa -xp password -a $LOG
>             sendEmail -f $SENDER -t $MAIL_04 -u $ERRORE_COPIA -m
> $MD5SUM_C_ISO " NON ESISTE  " -s mail.191.biz <http://mail.191.biz> -xu
> utente@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 <http://mail.191.biz> -xu
> utente@utentespa -xp password -a $LOG
>       sendEmail -f $SENDER -t $MAIL_02 -u $ERRORE_COPIA -m $MD5SUM_C_DVD
> " NON ESISTE  " -s mail.191.biz <http://mail.191.biz> -xu
> utente@utentespa -xp password -a $LOG
>       sendEmail -f $SENDER -t $MAIL_03 -u $ERRORE_COPIA -m $MD5SUM_C_DVD
> " NON ESISTE  " -s mail.191.biz <http://mail.191.biz> -xu
> utente@utentespa -xp password -a $LOG
>       sendEmail -f $SENDER -t $MAIL_04 -u $ERRORE_COPIA -m $MD5SUM_C_DVD
> " NON ESISTE  " -s mail.191.biz <http://mail.191.biz> -xu
> utente@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
> <http://mail.191.biz> -xu utente@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
> <http://mail.191.biz> -xu utente@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
> <http://mail.191.biz> -xu utente@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
> <http://mail.191.biz> -xu utente@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 <http://mail.191.biz> -xu
> utente@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 <http://mail.191.biz> -xu
> utente@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 <http://mail.191.biz> -xu
> utente@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 <http://mail.191.biz> -xu
> utente@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
> 

Non hai la possibilita' di cacciare sotto la macchina un disco sata da 2
TB farli  li i backup e sovrascriverli settimanalmente?


- --

Mario Vittorio Guenzi
E-mail jclark@tiscali.it
Si vis pacem, para bellum
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0GQloACgkQm6qs1ZkNrIrJwQCffofDy2lXypLXU3KGOudtMn7k
SP0AoIOIvh37jpXeWbXaRIo0B5xZ7Rh1
=b4jA
-----END PGP SIGNATURE-----


Reply to: