Foros del Web » Administración de Sistemas » Unix / Linux »

Script para actualizar tabla sql.

Estas en el tema de Script para actualizar tabla sql. en el foro de Unix / Linux en Foros del Web. Buenas tardes foreros: Con el siguiente script pretendo hacer ping a una lista de IP's incluida en un fichero de texto y con el resultado ...
  #1 (permalink)  
Antiguo 06/11/2015, 15:25
 
Fecha de Ingreso: noviembre-2015
Mensajes: 5
Antigüedad: 8 años, 5 meses
Puntos: 0
Script para actualizar tabla sql.

Buenas tardes foreros:

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:
#!/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
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:

Código:
mysql --user=root --password=arduino rfid -e 'update clientesrfid set auth= 0 where ip ="192.168.1.14"';
Necesito ayuda. Donde puede estar el problema...?
Gracias

Etiquetas: comando, servidor, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.