The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Tirando el primer y el último carácter / número de una cadena. LinuxRacr Programación de scripts de shell y 3 06-16-2008 10:08 PM
tirando de los scripts de UNIX a Linux pjconfig UNIX for Dummies Preguntas y Respuestas 3 12-21-2005 06:10 PM
tirando de una columna de un archivo en ksh dangral Programación de scripts de shell y 8 01-13-2003 04:10 PM
tirando de la siguiente línea de un archivo peter.herlihy UNIX for Dummies Preguntas y Respuestas 4 08-29-2002 10:09 PM
Tirando a los campos de un fichero Saz UNIX para usuarios avanzados y expertos 2 09-30-2001 04:31 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 07-03-2009
MrKen MrKen is offline
Usuario Registrado
  
 

Fecha: julio 2009
Puestos: 5
Tirando valor correcto de Mapfile

Hola a todos,

Estoy tratando de tirar un valor de una Mapfile, pero el resultado es que estoy recibiendo todos los valores. El Mapfile mapas el nombre de host del servidor de copia de seguridad para el nombre de host en nuestro servidor de la red de seguimiento, como se muestra aquí:

Mapfile
Código:
cat zabbixhosts 
Helpdesk-fd:Server_Helpdesk
Knowledge-fd:Server_Knowledge
BaculaServer-fd:Server_Bacula
Zabbix-fd:Server_Zabbix_1.4.2

La sección del script que está fallando es aquí:
Código:
client=$(tail -n 38 /var/lib/bacula/log | grep -m 1 -F "Client" | awk -F" " '{ print $2; }')
echo Client is $client
echo

# get hostname from the Hostsfile
ZABBIX_HOST=`grep "[$client]" $ZABBIX_HOSTSFILE`

if [ $? -eq 0 ]; then
        hostname=`echo "$ZABBIX_HOST" | cut -f2 -d:`
else
        hostname=""
fi
echo Hostname is $hostname
Cuando ejecuto el script de salida es el siguiente:

Código:
./bacula2zabbix.sh 
Client is "BaculaServer-fd"

Hostname is Server_Helpdesk Server_Knowledge Server_Bacula Server_Zabbix_1.4.2

Cualquier consejo sería muy apreciada.
Gracias.

Última edición por MrKen; al 07-03-2009 03:16 AM.. Motivo: Mala cortar pegar n
  #2 (Enlace permanente)  
Old 07-03-2009
prasperl prasperl is offline
Usuario Registrado
  
 

Fecha: junio 2009
Puestos: 22
¿Te ha inicializar el nombre del archivo de acogida?

He intentado el mismo código snippet.The resultado es

Cliente es "BaculaServer-fd"

Hostname es Server_Bacula

ZABBIX_HOSTSFILE \u003d "archivo de mapa de ruta"
He hecho dos cambios:

1.Initialized ZABBIX_HOSTSFILE a nombre del archivo de mapa


2.Removed []
grep "[$ cliente]"$ ZABBIX_HOSTSFILE
grep "$ cliente" $ ZABBIX_HOSTSFILE
  #3 (Enlace permanente)  
Old 07-03-2009
MrKen MrKen is offline
Usuario Registrado
  
 

Fecha: julio 2009
Puestos: 5
Gracias por la rápida respuesta.

Cuando usted dice 'Initialize' el archivo de host nombre, creo que debo decir esto:

ZABBIX_HOSTSFILE \u003d "/ etc / bacula / zabbixhosts";

Sí, tengo que ya. Es por eso que hay un resultado a la salida en el primer puesto.

Cuando me retire el [] como se sugiere, la salida es ahora:

Código:
Client is "BaculaServer-fd"

Hostname is
Más ideas?
  #4 (Enlace permanente)  
Old 07-03-2009
reddybs reddybs is offline
Usuario Registrado
  
 

Fecha: enero 2009
Ubicación: Sriharikota, India-AP
Puestos: 53
Código:
hostname=`grep $client zabbixhosts | cut -f2 -d:`
He intentado simular el escenario de linux en mi máquina. Suponiendo que su cliente variable contiene <BaculaServer-fd>.
Desde el código anterior, la variable contiene el nombre de host Server_Bacula grep si tiene éxito y no contienen ningún valor si no. Algo como esto ....

Código:
$ cat zabbixhosts
Helpdesk-fd:Server_Helpdesk
Knowledge-fd:Server_Knowledge
BaculaServer-fd:Server_Bacula
Zabbix-fd:Server_Zabbix_1.4.2
 
$ echo $client
sai
 
$  hostname=`grep $client zabbixhosts | cut -f2 -d:` ; echo $hostname
 
$ client="BaculaServer-fd"
 
$ hostname=`grep $client zabbixhosts | cut -f2 -d:` ; echo $hostname
Server_Bacula
 
$ hostname=`grep -w $client zabbixhosts | cut -f2 -d:`; echo $hostname
Server_Bacula
  #5 (Enlace permanente)  
Old 07-03-2009
MrKen MrKen is offline
Usuario Registrado
  
 

Fecha: julio 2009
Puestos: 5
reddybs, gracias por su respuesta.

Si cambio "[$ cliente]" a $ cliente, entonces no me sale el nombre de host de salida.
Si yo uso con grep-w, y luego no me sale el nombre de host de salida.

Así que ahora tengo esto, pero la salida es incorrecta.
Código:
echo Client is $client
echo

# get hostname from the Hostsfile
hostname=`grep "[$client]" $ZABBIX_HOSTSFILE | cut -f2 -d:` ; echo $hostname
y el de salida:
Código:
Client is "BaculaServer-fd"

Server_Helpdesk Server_Knowledge Server_Bacula Server_Zabbix_1.4.2
Más ideas?
Reply

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 08:43 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0