The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Tirer le premier et le dernier caractère et le nombre à partir d'une chaîne. LinuxRacr De programmation et de script Shell 3 06-16-2008 10:08 PM
tirant des scripts d'Unix à Linux pjconfig UNIX pour les nuls Questions et réponses 3 12-21-2005 06:10 PM
tirant sur une colonne à partir d'un fichier en ksh dangral De programmation et de script Shell 8 01-13-2003 04:10 PM
tirant sur la ligne suivante à partir d'un fichier peter.herlihy UNIX pour les nuls Questions et réponses 4 08-29-2002 10:09 PM
Retirer les champs d'un fichier Saz UNIX for Advanced & Expert Users 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 Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 07-03-2009
MrKen MrKen is offline
Registered User
  
 

Date d'inscription: juillet 2009
Messages: 5
Pulling valeur correcte de Mapfile

Salut à tous,

Je suis en train de tirer une valeur à partir d'un Mapfile, mais le résultat est que je reçois toutes les valeurs. Les cartes Mapfile le nom d'hôte du serveur de sauvegarde pour le nom d'hôte dans notre réseau de surveillance du serveur, comme illustré ici:

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

La section de script qui est défaut est ici:
Code:
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
Quand je lance le script que le résultat est comme suit:

Code:
./bacula2zabbix.sh 
Client is "BaculaServer-fd"

Hostname is Server_Helpdesk Server_Knowledge Server_Bacula Server_Zabbix_1.4.2

Tout conseil serait grandement appréciée.
Merci.

Dernière édition par MrKen; au 07.03.2009 03:16 AM.. Motif: Bad couper coller n
  #2 (permalink)  
Old 07-03-2009
prasperl prasperl is offline
Registered User
  
 

Date d'inscription: juin 2009
Posts: 22
Avez-vous d'initialiser le nom du fichier d'accueil?

J'ai essayé le même code snippet.The résultat est

Le client est "BaculaServer-fd"

Nom de l'hôte est Server_Bacula

ZABBIX_HOSTSFILE \u003d "chemin de fichier de carte"
J'ai fait deux changements:

1.Initialized ZABBIX_HOSTSFILE à la carte le nom du fichier


2.Removed []
grep "[$ client]"$ ZABBIX_HOSTSFILE
grep "$ client" $ ZABBIX_HOSTSFILE
  #3 (permalink)  
Old 07-03-2009
MrKen MrKen is offline
Registered User
  
 

Date d'inscription: juillet 2009
Messages: 5
Merci pour la réponse rapide.

Quand vous dites "initialiser" le pays hôte le nom du fichier, je suppose que tu dois-je dire ceci:

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

Oui, j'ai déjà. C'est la raison pour laquelle il ya un résultat à la sortie dans le premier message.

Quand je enlever les [] comme l'a suggéré, la sortie est maintenant:

Code:
Client is "BaculaServer-fd"

Hostname is
D'autres idées?
  #4 (permalink)  
Old 07-03-2009
reddybs reddybs is offline
Registered User
  
 

Date d'inscription: janvier 2009
Lieu: Sriharikota-AP-Inde
Posts: 53
Code:
hostname=`grep $client zabbixhosts | cut -f2 -d:`
J'ai essayé de simuler votre scénario dans ma machine Linux. En supposant que votre client variable contient <BaculaServer-fd>.
Depuis le code ci-dessus, la variable hostname contient Server_Bacula si grep est couronnée de succès et ne contiennent pas de valeur si elle échoue. Quelque chose comme ça ....

Code:
$ 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 (permalink)  
Old 07-03-2009
MrKen MrKen is offline
Registered User
  
 

Date d'inscription: juillet 2009
Messages: 5
reddybs, merci pour votre réponse.

Si je change "[$ client]" à $ client, puis-je obtenir aucune hostname sortie.
Si je utiliser avec grep-w, je n'obtiens pas de sortie d'hôte.

Alors maintenant, je l'ai, mais la sortie est toujours incorrecte.
Code:
echo Client is $client
echo

# get hostname from the Hostsfile
hostname=`grep "[$client]" $ZABBIX_HOSTSFILE | cut -f2 -d:` ; echo $hostname
et de la sortie:
Code:
Client is "BaculaServer-fd"

Server_Helpdesk Server_Knowledge Server_Bacula Server_Zabbix_1.4.2
D'autres idées?
Reply

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 09:20 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0