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

Re: Repositorio local



El jue., 31 ene. 2019 a las 13:44, Ismael L. Donis Garcia
(<slibre@natio.co.cu>) escribió:
>
> >----- Original Message -----
> >From: "Calabaza" <calalinux@gmail.com>
> >To: "debian-user-spanish" <debian-user-spanish@lists.debian.org>
> >Sent: Thursday, January 31, 2019 10:14 AM
> >Subject: Re: Repositorio local
> >
>
> >El vie., 25 ene. 2019 a las 16:35, Ismael L. Donis Garcia
> >(<slibre@natio.co.cu>) escribió:
> >
> >> > Estoy creando un repositorio local para lo cual uso debmirror
> >
> >> > Ahora tengo dudas sobre lo que hace el parámetro -timeout
> >
> >> > Alguien me podrá una pequeña explicación de la función de dicho
> >> > parámetro?
> >
> >> > Otra duda que tengo como podría verificar que la descarga se callo para
> >> > poder echar a andar de nuevo el script?
> >
> >> He creado el siguiente script pero no se autollama la función da el
> >> siguiente error cuando se cae:
> >
> >> rdbeowulf_new.sh: 40: rdbeowulf_new.sh: run_debmirror: not found
> >> rdbeowulf_new.sh: 42: rdbeowulf_new.sh: Syntax error: "}" unexpected
> >
> >> El script es el que sigue:
> >> function() run_debmirror{
> >>  if [ $BUCLES -gt $REINTENTOS ]; then return; fi
> >>   debmirror -a $ARQUITECTURA \
> >>   -s $SECCIONES \
> >>   -h $HOST/merged \
> >>   -d $RAMA -r / --progress \
> >>   -e
> >> $METODO --postcleanup --ignore-small-errors --ignore-missing-release --ignore-release-gpg
> >>  --nosource --allow-dist-rename \
> >>   --timeout=600 \
> >>   --diff=none \
> >>   $DIR_MIRROR
> >>  if [ $? -ne 0 ]; then
> >>     echo ""
> >>     echo
> >> "===================================================================================="
> >>     echo "Error al sincronizar repositorio. Intento: $BUCLES con fecha:
> >> $(date)"
> >>     echo
> >> "===================================================================================="
> >>     echo ""
> >>   BUCLES=$(($BUCLES+1))
> >>   run_debmirror
> >>  fi
> >> }
> >>
> >> run_debmirror

> >> El comienza a descargar pero cuando se cae no se autollama la función de
> >> nuevo.

> >> Alguien me podrá decir donde está el error?

> >El mensaje de error es bastante claro,
> >indica que no encuentra la función: run_debmirror
> >porque no está definida o, como en tu caso,
> >tienes un error de sintaxis en la declaración de la función:

> >man bash

> >y busca el apartado:  Shell Function Definitions

> busque y no veo nada,

Relee esa sección del manual.

> so se si estaré tupido

No entiendo qué signifique eso.


> >Sugerencias:
> >a) Lo ideal sería que realices dos emails: uno para la pregunta de
> >debmirror
> >y otra para ver porqué no funciona tu script.


> El script si funciona lo que no funciona es el autollamado de la función y
> si esta bien escrita porque copio y pego

Estimado compañero, que copies y pegues no implica que el script funcione.

> >b) Para tu primera pregunta: de qué hace el parámetro
> >--timeout=seconds de debmirror,
> >te recomiendo tomarte un curso de inglés, con que puedas leer y
> >entender ya es más que suficiente.
> >
> >c) Leer y poner en práctica:
> >https://sindominio.net/ayuda/preguntas-inteligentes.html

> No se porque si realiza la primera llamada, pero después no logro que
> realice las otras.

La forma de ejecutar un script en bash es línea a línea, saltándose las
que tengan error de sintaxis, por eso realiza la primera llamada,
porque no crea la función.

> Mirra un ejemplo que solo escribe en consola

> #!/bin/sh
> BUCLES=1
> REINTENTOS=3
> function() run_debmirror
> {
>   if [ $BUCLES -gt $REINTENTOS ]; then return; fi
>   echo "=================="
>   echo "Entro a la funcion"
>   echo "=================="
> while [ $BUCLES -le $REINTENTOS ]; do
>   echo ""
>   echo
> "===================================================================================="
>   echo "Error al sincronizar repositorio. Intento: $BUCLES con fecha:
> $(date)"
>   echo
> "===================================================================================="
>   echo ""
>   BUCLES=$(($BUCLES+1))
>   run_debmirror
> done
> }
> if [ $BUCLES -le 1 ]; then
>  run_debmirror
> fi
> exit 0


Efectivamente tiene el mismo error que tu otro script,
solamente una vez se imprime la cadena: "Entró a la función":

$ ./repositorio_local.sh
==================
Entro a la funcion
==================

===========================================
Error al sincronizar repositorio. Intento: 1 con fecha: vie feb  1
06:15:21 -03 2019
===========================================

./repositorio_local.sh: 17: ./repositorio_local.sh: run_debmirror: not found

===========================================
Error al sincronizar repositorio. Intento: 2 con fecha: vie feb  1
06:15:21 -03 2019
===========================================

./repositorio_local.sh: 17: ./repositorio_local.sh: run_debmirror: not found

===========================================
Error al sincronizar repositorio. Intento: 3 con fecha: vie feb  1
06:15:21 -03 2019
===========================================

./repositorio_local.sh: 17: ./repositorio_local.sh: run_debmirror: not found

Atentamente,

-- 
Guillermo Galeano Fernández

http://es.wikipedia.org/wiki/Netiquette
http://www.ietf.org/rfc/rfc1855.txt


Reply to: