Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- WINDOMINIO="dbserver" ; USUARIO="administrador@ccgroup" ; PASSWORD="kljhgvh" ;
- DIR_RAIZ_BACKUP="*" ; CINTA="/dev/st0" ; COLOR_OK="#008000" ; COLOR_ERROR="#FF0000" ;
- AHORA=$(date -d yesterday +"%a") ; SHARES=(Usuarios Fotos) ;
- conectar_samba(){
- echo "" ; (( i=0 )) ;
- mount -t cifs -o username=$USUARIO,password=$PASSWORD,iocharset=utf8,codepage=cp850 //$WINDOMINIO/$1 /mnt/$1 > /dev/null
- if [ $? -eq 0 ] ; then MNT[$2]="OK" ; echo " [ Se ha logrado montar $1 en el primer intento ]" ; fi
- while [ $? -ne 0 ] && (( i<=3 )) ; do
- (( i++ )) ; sleep 600 ;
- mount -t cifs -o username=$USUARIO,password=$PASSWORD,iocharset=utf8,codepage=cp850 //$WINDOMINIO/$1 /mnt/$1 > /dev/null
- if [ $? -eq 0 ] ; then MNT[$2]="OK" ; echo " [ Se ha logrado montar $1 en el reintento nro $i ]" ; fi
- done
- if [ $? -ne 0 ] ; then MNT[$2]="ERROR" ; echo " [ No se pudo montar $1 luego de $i reintentos ]" ; fi
- }
- full_backup(){
- local antes=$(pwd)
- echo "" ; echo " [ Copiando archivos de $1 ]" ; echo "" ;
- du -s -h /mnt/$1 ; cd /mnt/$1 ;
- case "$1" in
- Usuarios )
- tar --exclude=RECYCLER* --exclude=\$RECYCLE.BIN* --exclude="Mis archivos recibidos*" --exclude="Mi música*" --exclude="Mis imágenes*" --exclude=*.mp3 --exclude=*.avi --exclude=*.wma -b 2048 -cvzf $CINTA $DIR_RAIZ_BACKUP
- ;;
- Fotos )
- tar --exclude=2007* --exclude=2008* -b 2048 -cvzf $CINTA $DIR_RAIZ_BACKUP
- ;;
- esac
- if [ $? -eq 0 ] ; then BKP[$2]="OK" ; else BKP[$2]="ERROR" ; fi
- echo "" ; echo " [ $1 finalizado ]" ; echo "" ;
- cd $antes ; sleep 2 ; umount /mnt/$1 ;
- if [ $? -eq 0 ] ; then UMNT[$2]="OK" ; else UMNT[$2]="ERROR" ; fi
- }
- crear_mountpoint(){
- [ ! -d /mnt/$1 ] && mkdir -p /mnt/$1
- }
- do_backup (){
- crear_mountpoint $1
- conectar_samba $1 $2
- full_backup $1 $2
- }
- mail_content(){
- echo "Subject: Backup lnx-vm01 DBSERVER"
- echo "Content-Type:text/html; charset=utf-8"
- echo ""
- echo ""
- echo "<HTML><HEAD><META content=\"text/html; charset=utf-8\" http-equiv=Content-Type><META name=GENERATOR content=\"MSHTML 8.00.7600.16490\"></HEAD><BODY>"
- echo "<P align=center><FONT size=3 face=Arial><U>Backup en $WINDOMINIO de: ${SHARES[*]} </U></FONT></P>"
- for k in ${!SHARES[@]}; do
- echo "<P align=center><FONT face=Arial><A href=\"file://dbserver/Sistemas/logs/$AHORA.${SHARES[k]}.backup.log\"><STRONG><FONT color=#000080 size=2>Log completo para ${SHARES[k]}</FONT></STRONG></A></FONT></P>"
- echo "<CENTER><TABLE border=0 align=center><TBODY>"
- echo "<TR><TD width=250><P>Montando unidad</P></TD>"
- if [ ${MNT[k]} == "OK" ] ; then COLOR=$COLOR_OK ; else COLOR=$COLOR_ERROR ; fi
- echo "<TD><P><STRONG><FONT color=$COLOR>[ ${MNT[k]} ]</FONT></STRONG></P></TD></TR>"
- echo "<TR><TD width=250><P>Copiando archivos</P></TD>"
- if [ ${BKP[k]} == "OK" ] ; then COLOR=$COLOR_OK ; else COLOR=$COLOR_ERROR ; fi
- echo "<TD><P><STRONG><FONT color=$COLOR>[ ${BKP[k]} ]</FONT></STRONG></P></TD></TR>"
- echo "<TR><TD width=250><P>Desmontando unidad</P></TD>"
- if [ ${UMNT[k]} == "OK" ] ; then COLOR=$COLOR_OK ; else COLOR=$COLOR_ERROR ; fi
- echo "<TD><P><STRONG><FONT color=$COLOR>[ ${UMNT[k]} ]</FONT></STRONG></P></TD></TR>"
- done
- echo "</TBODY></TABLE></CENTER><P align=left><FONT size=3 face=Arial></FONT> </P></BODY>"
- }
- crear_mountpoint Sistemas > /dev/null
- conectar_samba Sistemas > /dev/null
- BASE_DE_LOGS=/mnt/Sistemas/logs
- [ ! -d $BASE_DE_LOGS ] && mkdir -p $BASE_DE_LOGS
- for j in ${!SHARES[@]}; do
- do_backup ${SHARES[j]} $j > $BASE_DE_LOGS/$AHORA.${SHARES[j]}.backup.log 2>&1
- todos $BASE_DE_LOGS/$AHORA.${SHARES[j]}.backup.log
- if (( $j < ${#SHARES[@]}-1 )) ; then mt -f /dev/nst0 fsf 1 ; else mt -f /dev/st0 offline ; fi
- done
- cd ~/ ; umount /mnt/Sistemas ; sleep 2
- mail_content | /usr/lib/sendmail -F lnx-vm01 -t sistemas@capitancortes.com
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement