Go Back   Το UNIX και Linux Forums > Top Forums > Ο προγραμματισμός και η Shell Scripting
.
Google Site



Ο προγραμματισμός και η Shell Scripting Post ερωτήσεις για KSH, CSH, SH, BASH, Perl, PHP, sed, AWK ΑΛΛΑ και shell scripts και shell scripting γλώσσα εδώ.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Εργαλεία Θέματος Αναζήτηση αυτό το νήμα Βαθμολογήστε Νήμα Display Modes
  #1 (Permalink)  
Old 06-18-2008
Εγγεγραμμένος χρήστης
 

Εγγραφή: Οκτώβριος 2007
Τοποθεσία: Toronto, Ontario
Μηνύματα: 366
bash ερώτηση

Hi Guys,

Βρήκα αυτό το σενάριο για την παρακολούθηση της κατάστασης των υπηρεσιών:

για το i syslogd cron? κάνει
εάν [ `ps-eo comm | grep-v grep | grep-c ^ $ i`-gt 0] & & [ `ps-eo comm, s | grep-v grep | grep ^ $ i | awk '(print $ 2) '| sort-u `\u003d" Α "]?
μετά
printf "%-8s" "$ i"? printf "είναι ζωντανή \u003d A \ n"
άλλος
printf "%-8s" "$ i"? printf "δεν είναι ζωντανός \ n"
fi

Το σενάριο είναι εργάσιμη προστίμου εκτός εάν είτε syslogd ή cron θα έχουν πλέον στη μνήμη. Θα έχει ένα λάθος σαν αυτό:

/ usr / local / bin / checkserver.sh: line 9: [: πάρα πολλά επιχειρήματα
syslogd δεν είναι ζωντανός

Αλλά, βεβαίως, syslogd εκτελεί να ελέγξω αν με EF-ps | grep syslogd:

[itik @ north001 ~] $ ps-EF | grep syslogd
root 1234 1 0 May04; 00:11:42 / usr / sbin / syslogd
root 18555 5525 0 May04; 00:00:00 [syslogd] <defunct>
itik 22417 19840 0 13:23 pts / 1 00:00:00 grep syslogd

ΧΩΡΙΣ λάθος η παραγωγή είναι κάπως έτσι:

cron είναι ζωντανός \u003d A
syslogd είναι ζωντανή \u003d A


Μπορεί κάποιος παρακαλώ να με ενημερώσετε για την αλλαγή, όπου το λάθος;

Σας ευχαριστώ εκ των προτέρων.

Με τις καλύτερες ευχές,
itik
Sponsored Links
  #2 (Permalink)  
Old 06-18-2008
Βουκόλος της Άχρηστο Γάτες (Στις σαββατικός)
 

Εγγραφή: Mar 2008
Τοποθεσία: / υπάρχουν / είναι / μόνο / bin / sh
Δημοσιεύσεις: 3652
Το σενάριο να μην αναφέρω την έξοδο από την backticks σωστά, και περιλαμβάνει επίσης ένα καλό δείγμα της Άχρηστο Χρήση grep-c και Άχρηστο Χρήση grep | awk. Εδώ είναι μια γρήγορη προσπάθεια straightening έξω.


Κωδικός:
for i in syslogd cron; do
  if ps -eo comm | grep -v '[g]rep' >/dev/null && 
     ps -eo comm,s | awk '$1 == "'"$i"'" {if ($2 == "A") next; exit 1}'
  then
    printf "%-8s" "$i";printf " is alive=A\n"
  else
    printf "%-8s" "$i";printf " is not alive\n"
  fi
done

Ελπίζω ότι δεν χάνετε τίποτα, ενώ σημαντικό refactoring αυτό. Για μια λιγότερο παρεμβατική αλλαγή, ίσως θα ήταν αρκετό για να προσθέσετε εισαγωγικά γύρω από τις backquotes.

Εγώ δεν αλλάξει η λογική, έτσι ώστε να μπορεί να εξακολουθούν να ισχυρίζονται ότι υπάρχει ένα σφάλμα εάν υπάρχει πλέον διαδικασία. Ίσως το awk script θα πρέπει να αλλάξει. Επίσης, δεν καταλαβαίνω τη χρησιμότητα των υπόλοιπων grep. Αν μπορούσατε να δείτε την έξοδο του ps-eo comm και ps-eo comm, s όταν υπάρχει νεκρός, θα είναι ευκολότερο να δούμε τι το σενάριο είναι πραγματικά να κάνουν.

Τελευταία επεξεργασία από την εποχή? Στις 06-18-2008 12:30 μμ..
  #3 (Permalink)  
Old 06-18-2008
radoulov's Avatar
--
 

Εγγραφή: Ιανουάριος 2007
Τοποθεσία: Варна, България / Milano, Italia
Δημοσιεύσεις: 3220

Κωδικός:
for p in syslogd cron; do 
  pgrep >/dev/null "$p" && printf "%s is alive\n" "$p" || 
    printf "%s is dead\n" "$p" 
done

Τι \u003d A;
  #4 (Permalink)  
Old 06-18-2008
Εγγεγραμμένος χρήστης
 

Εγγραφή: Οκτώβριος 2007
Τοποθεσία: Toronto, Ontario
Μηνύματα: 366
Στις ERA:

Η απάντησή σας με το νέο σενάριο που δεν είναι ζωντανά, είναι λάθος, διότι η υπηρεσία έχει δύο ύπαρξη, η μία είναι από την υπηρεσία και το άλλο είναι νεκρός. Θα πρέπει να είναι ζωντανά.

Και κάτι ακόμα, θα πρέπει να είναι ζωντανά, εάν η υπηρεσία υπάρχει (και αν υπάρχουν υπηρεσία και πλέον υπάρχουν). Διαφορετικά, αν η υπηρεσία δεν υπάρχει, τότε δεν είναι ζωντανός

Στις ROD:


Νομίζω ότι είναι ένα tag Α έτσι ώστε η μία υπηρεσία μπορεί να είναι στολισμένα με μοναδική.

Χάρη και περισσότερη εξουσία.

Τελευταία επεξεργασία από itik? Στις 06-18-2008 02:29 μμ..
Sponsored Links
Closed Thread

Σελιδοδείκτες

Εργαλεία Θέματος Αναζήτηση αυτό το νήμα
Αναζήτηση αυτό το νήμα:

Advanced Search
Display Modes Βαθμολογήστε αυτό το νήμα
Βαθμολογήστε αυτό το νήμα:

Απόσπαση Κανονισμού
Εσύ δεν μπορεί να υστέρων νέα νήματα
Εσύ δεν μπορεί να μετά απαντήσεις
Εσύ δεν μπορεί να μετά συνημμένα
Εσύ δεν μπορεί να επεξεργαστείτε τις θέσεις

BB κωδικός είναι Σε λειτουργία
Smilies είναι Σε λειτουργία
[IMG] κωδικός Σε λειτουργία
Κώδικα HTML είναι Εκτός χρήσης
Trackbacks είναι Σε λειτουργία
Pingbacks είναι Σε λειτουργία
Refbacks είναι Εκτός χρήσης


Περισσότερα UNIX και Linux Forum Θέματα που μπορεί να σας Χρήσιμη
Νήμα Thread Starter Φόρουμ Απαντήσεις Τελευταίο μήνυμα
Μια ερώτηση για το κέλυφος bash script zx1106 Ο προγραμματισμός και η Shell Scripting 9 03-10-2008 12:40 AM
Bash scripting ερώτηση Re: newlines retrovertigo Ο προγραμματισμός και η Shell Scripting 4 07-06-2007 01:44 μμ
γρήγορη ερώτηση newbie bash redsand9009 Ο προγραμματισμός και η Shell Scripting 4 01-25-2007 03:44 AM
awk / bash globbing ερώτηση franzke Ο προγραμματισμός και η Shell Scripting 3 07-15-2005 12:55 AM
BASH shell script ερώτηση ewarmour Ο προγραμματισμός και η Shell Scripting 3 05-24-2002 06:10 AM



Όλες οι ώρες είναι GMT -4. Η ώρα τώρα είναι 02:54 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Γλώσσα Μεταφράσεις Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Η UNIX και Linux Φόρουμ Content Copyright © 1993-2010. Όλα τα δικαιώματα Reserved.Ad διαχείριση από RedTyger

Περιεχόμενο σχετικό με τις διευθύνσεις URL vBSEO 3.2.0