[eside-ghost] Problema script bash shell

AngelD angeld en froga.net
Lun Nov 28 16:55:52 CET 2005


Estoy con "BloOwITt^ Smith", el error te marca al final del fichero (el
mío sólo tiene 62 lineas y el error te da en la 68 :-) y falta un "fi". Si
sigues con problemas envialo como adjunto o numerado, para que sea más
fácil.

De todas formas, para escoger opciones es mejor "case" que "if" Ej:
 case "$1" in
    -C|-c)
       # completo
       .....
       ;;
     -I|-i)
        # incremental
        ....
        ;;
      *)
        echo "Parámetros incorrectos"
        ;;
 esac

Y ya si haces un par de funciones, una para el incremental y otra para el
completo, .......

Saludos --- angel


On Mon, November 28, 2005 16:24, Leire Cristobo wrote:
> Tengo un problemilla con un script en bash, me da este errorcillo y no se
> por qué puede ser, os paso el codigo. Lo tengo en otro ordenador y no me
> ha dado problemas, así que ando super perdida.
>
> ./backup_completo: line 68: syntax error: unexpected end of file
>
>
> #!/bin/bash
> # Si recibe el argumento "-c" hace un backup completo,
> # Si recibe un "-i" hace un backup incremental desde el ultimo completo,
> # si no es simple
> DIRDEST=/tmp/backup_server
> DIRS_INCLUDE=`cat /usr/local/sbin/backup/fich_backup`
> DIRS_EXCLUDE=`cat /usr/local/sbin/backup/fich_exclude`
> DIRBACKUP=/home/backup
> DM=`date +%d-%b`        #Fecha y Mes, ejemplo 29-nov
> DOM=`date +%d`          #Fecha, ejemplo 29
> DOW=`date +%a`          #Día de la semana, ejemplo: lun
> i=1 j=1 EXCL_c=""
> EXCL_i=""
> echo DIRDEST $DIRDEST echo DIRS_INCLUDE $DIRS_INCLUDE echo DIRS_EXCLUDE
> $DIRS_EXCLUDE
> echo DIRBACKUP $DIRBACKUP echo EXCL_c $EXCL_c echo EXCL_i $EXCL_i
>
> rm -Rf $DIRDEST mkdir $DIRDEST cd $DIRDEST ls -lR /   > ls-lR ps -Af     >
> ps-Af lsmod      > lsmod dpkg -l    > dpkg-l netstat -a > netstat-a cp
> /usr/src/linux-2.4.26/.config config
> cp /var/lib/dpkg/status    dpkg_status for M in $DIRS_EXCLUDE; do
> DIR_EX=`echo $DIRS_EXCLUDE | awk '{print $'$j'}'`
> EXCL_c="$EXCL_c --exclude=$DIR_EX"
> EXCL_i="$EXCL_i | grep -v $DIR_EX"
> j=$(expr $j + 1) done echo DESPUES DEL FOR echo EXCL_c $EXCL_c echo EXCL_i
> $EXCL_i
> if [[ $1 = "-i" ]]; then #BACKUP INCREMENTAL
> a=`find $DIRS_INCLUDE -mtime -1 -type f -print | grep -v
> /home/store/RECUPERA | grep -v /home/backup | grep -v /home/vmail | tr -s
> "\n" " " `
> tar -czvf $DIRBACKUP/backup_$HOSTNAME-$DOW.tgz $DIRDEST $a
>
> if [[ $1 = "-c" ]]; then for N in $DIRS_INCLUDE; do DIR=`echo $DIRS_INCLUDE
> | awk '{print $'$i'}'`
> FILE=`echo $DIR | tr -s "/" " "`
> FILE=`echo $FILE | tr -s " " "_"`
> tar -czvf $DIRDEST/$FILE.tgz       $DIR $EXCL_c i=$(expr $i + 1) done tar
> -czvf $DIRBACKUP/backup_$HOSTNAME_$DOW.tgz $DIRDEST
> else echo "  Comando de backup de servidores"; echo "  Realiza un backup
> completo [-c] o incremental [-i] " echo "  SINTAXIS: comando [-c / -i ] "
> exit fi



-- 
"Oh... ¡Qué horrible! ¿Murió al menos sin sufrir? En pedacitos ¿eh? ¿Como
se lo ha tomando su mujer? En pedacitos ¿eh? Vale, adios."
  - Profesor Fansworth


Más información sobre la lista de distribución eside-ghost