----- Original Message -----
From: "Calabaza" <calali...@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
(<sli...@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, so se si estaré tupido
Gracias
--
Ismael
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
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
Atentamente,
--
Guillermo Galeano Fernández
No se porque si realiza la primera llamada, pero después no logro que
realice las otras.
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
Saludos Reiterados
--
Ismael