![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
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
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 |
|
||||
|
¿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 |
|
||||
|
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 |
|
||||
|
Código:
hostname=`grep $client zabbixhosts | cut -f2 -d:` 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 |
|
||||
|
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 Código:
Client is "BaculaServer-fd" Server_Helpdesk Server_Knowledge Server_Bacula Server_Zabbix_1.4.2 |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|