[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