Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kurtiskiat en 27 Mayo 2016, 10:43 am



Título: Duda Script Linux - Backup
Publicado por: kurtiskiat en 27 Mayo 2016, 10:43 am
Buenas, llevo un tiempo intentando hacer un Script para eliminar las Backups y necesito saber por qué me da error. Llevo como 2 días intentando solucionarlo y no veo el problema.

Os escribo el código y los errores.....

CODIGO

#!/bin/bash
#Ruta del Backup
ruta="/root/pruebas/backups/"
#Guardamos la FechaActual
FechaActual=$(date +%Y-%m-%d)
#Definimos el Nombre de la Backup
Name01="ADSSRV01-"
Name02="ADSSRV02-"
#################################
#Copiar datos en el archivo .log
archlog="CopiaXen.log"
#Guardamos la busqueda de la Backup Actual del Servidor01
BackupActual01=$(find /root/pruebas/backups/ADSSRV01-*.xva)
#BackupActual01=$(find $ruta$Name02$FechaActual*)
#Guardamos la busqueda de la Backup Actual del Servidor02
BackupActual02=$(find $ruta$Name02$FechaActual.xva)
#Guardamos la busqueda de la Backup Anterior del Servidor01
BackupAnterior01=$(find $ruta$Name01*.xva | sort | head -1)
Nombre_BAnterior01=$(cut -d " " -f 2 $BackupAnterior01)
#Guardamos la busqueda de la Backup Anterior del Servidor02
BackupAnterior02=$(find $ruta$Name02*.xva | sort | head -1)
Nombre_BAnterior02=$(cut -d " " -f 2 $BackupAnterior02)
#Guardamos el peso de la copia Actual del Servidor01
PesoActual01=$(du -h "$ruta $Name01 $FechaActual.xva" | cut -d " " -f 1)
Peso01=$(cut -d "G" -f 1 $PesoActual01)
#Guardamos el peso de la copia Actual del Servidor02
PesoActual02=$(du -h $ruta$Name02$FechaActual.xva | cut -d " " -f 1)
Peso02=$(cut -d "G" -f 1 $PesoActual02)
#Guardamos el peso de la copia Anterior del Servidor01
PesoA01=$(cut -d " " -f 1 $BackupAnterior01)
PesoAnterior01=$(cut -d "G" -f 1 $PesoA01)
#Guardamos el peso de la copia Anterior del Servidor02
PesoA02=$(cut -d " " -f 1 $BackupAnterior02)
PesoAnterior02=$(cut -d "G" -f 1 $PesoA02)
#Calculamos el Porcentaje
#si la copia vieja es mayor o igual que el 95% de la copia nueva, todo perfecto, si no se envía un correo con errores.
Porcentaje01=$(echo "scale=2; 95 * $Peso01 / 100" | bc)
Porcentaje02=$(echo "scale=2; 95 * $Peso02 / 100" | bc)
#Comparamos el tamaño de las copias
echo "Se procede a calcular el tamaño de las copias de seguridad." >> $archlog

#Comprobamos la Backup del Servidor01

if [ -e $BackupActual01 ]
   then
      echo "Backup Actual encontrada: "$BackupActual01 >> $archlog
      echo "El tamaño de la copia " $BackupActual01 " es :" $PesoActual01 >> $archlog
      
      if [ $PesoAnterior01 -ge $Porcentaje01 ]
         then
         echo "El tamaño de la copia " $BackupActual01 " está bien." >> $archlog
      else
         echo "El tamaño de la copia " $BackupActual01 " es demasiado bajo." >> $archlog
         echo "Esto genera una duda en la finalización de la backup." >> $archlog
         echo "REVÍSELA." >> $archlog
      fi
   else
      echo "La copia de seguridad no ha sido encontrada" >> $archlog
fi

#Comprobamos la Backup del Servidor02

if [ -e $BackupActual02 ]
   then
      echo "Backup Actual encontrada: "$BackupActual02 >> $archlog
      echo "El tamaño de la copia " $BackupActual02 " es :" $PesoActual02 >> $archlog
      
      if [ $PesoAnterior02 -ge $Porcentaje02 ]
         then
         echo "El tamaño de la copia " $BackupActual02 " está bien." >> $archlog
      else
         echo "El tamaño de la copia " $BackupActual02 " es demasiado bajo." >> $archlog
         echo "Esto genera una duda en la finalización de la backup." >> $archlog
         echo "REVÍSELA." >> $archlog
      fi
      
      #Arrancamos el script de enviar el mail con el resumen
      /bin/bash ./logsend.sh
      cat .logsend.sh >> vm_backup.log
   
   else
      echo "La copia de seguridad no ha sido encontrada" >> $archlog
fi


ERROR

[root@xenserver-Javi pruebas]# sh ComprobarPesoBackup.sh
.xva: No such file or directory
*.xva: No such file or directory
: No such file or directory
*.xva: No such file or directory
: No such file or directory
du: cannot access `/root/pruebas/backups/\r ADSSRV01-\r 2016-05-27\r.xva': No such file or directory
: No such file or directory
du: cannot access `/root/pruebas/backups/\rADSSRV02-\r2016-05-27\r.xva': No such file or directory
: No such file or directory
: No such file or directory
: No such file or directory
: No such file or directory
: No such file or directory
(standard_in) 1: illegal character: ^M
(standard_in) 1: parse error
(standard_in) 1: illegal character: ^M
(standard_in) 1: parse error
: command not found.sh: line 41:
: command not found.sh: line 43:
ComprobarPesoBackup.sh: line 84: syntax error: unexpected end of file





Gracias de antemano...


Título: Re: Duda Script Linux - Backup
Publicado por: kurtiskiat en 1 Junio 2016, 09:32 am
Resuelto. Gracias