Shell Script para recorrer todas las URL internas e informar cualquier error en el archivo «traverse.errors»

Si está utilizando un servidor web o es responsable de un sitio web, ya sea simple o complejo, probablemente se encuentre realizando ciertas tareas con alta frecuencia, identificando significativamente enlaces rotos internos y externos del sitio. Con scripts de shell, puede crear muchas de estas tareas, así como otras funciones normales de clientes/servidores, como administrar la información de acceso al índice del sitio web protegido por contraseña. La secuencia de comandos de Below Shell se utiliza para recorrer todas las URL internas en el sitio web dado, informando errores (si los hay) en el archivo «traverse.errors».

Uso: traverse.sh <ENLACE DE URL>

lynx="/usr/local/bin/lynx"

trap "$(which rm) -f traverse.dat traverse2.dat" 0
if [ -z "$1" ] ; then
  echo "Usage: checklinks URL" >&2
  exit 1
fi
baseurl="$(echo $1 | cut -d/ -f3 | sed 's/http:\/\///')"
lynx -traversal -accept_all_cookies -realm "$1" > /dev/null
if [ -s "traverse.errors" ] ; then
  /bin/echo -n $(wc -l < traverse.errors) errors encountered.
  echo Checked $(grep '^http' traverse.dat | wc -l) pages at ${1}:
  sed "s|$1||g" < traverse.errors
  mv traverse.errors ${baseurl}.errors
  echo "A copy of this output has been saved in ${baseurl}.errors"
else
  /bin/echo -n "No errors encountered. ";
  echo Checked $(grep '^http' traverse.dat | wc -l) pages at ${1}
fi
if [ -s "reject.dat" ]; then
  mv reject.dat ${baseurl}.rejects
fi
exit 0

Escenario 1: Sin errores 

Figura 1.2 – Sin errores

Escenario 2: algunos errores

Fig. 1.3 5 errores encontrados

Publicación traducida automáticamente

Artículo escrito por Akash7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *