Con el siguiente script pretendo hacer ping a una lista de IP's incluida en un fichero de texto y con el resultado modifico una tabla SQL en consecuencia. En el campo IP de la tabla se encuentran las mismas IP's que en el fichero de texto.
Código:
El caso es que el script hace ping de forma correcta pero no actualiza la tabla. Sin embargo, ejecutando el comando siguiente por separado, si que funciona:#!/bin/bash # Hace ping a una lista de IP's incluidas en un archivo y actualiza una base de datos sql # en consecuencia con el resultado obtenido. clear if [ "$1" = "" ] ; then # No se pasó una lista de ips echo "Error: Introduce un nombre de archivo válido que contenga las IP's para hacer ping." exit 1 fi if [ ! -f "$1" ] ; then # Archivo inválido. echo "Error: No puedo encontrar el archivo "$1"." exit 2 fi echo "(*) Haciendo ping a los servidores contenidos en el archivo "$1"..." echo while read IP do ping -c 3 "$IP" >& /dev/null if [ "$?" != "0" ] ; then # (echo -n "$IP " ; date) | tee -a notping.log echo -e "${IP} \e[0;31m[ERR]\e[1;37m" mysql --user=root --password=arduino rfid -e 'update clientesrfid set auth=0 where ip= "$IP"'; else # (echo -n "$IP " ; date) | tee -a yesping.log echo -e "${IP} \e[1;32m[OK]\e[1;37m" mysql --user=root --password=arduino rfid -e 'update clientesrfid set auth=1 where ip= "$IP"'; fi done < "$1" exit 0 echo
Código:
Necesito ayuda. Donde puede estar el problema...?mysql --user=root --password=arduino rfid -e 'update clientesrfid set auth= 0 where ip ="192.168.1.14"';
Gracias