The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Anmodning om at ændre script til at liste flere parametre for V_fieldid variable Sammy Shell Programmering og Scripting 0 03-30-2008 08:08 PM
dræbe flere forekomster af det samme program ipzig Shell Programmering og Scripting 12 12-17-2007 02:42 AM
Perl program til at læse fra flere filer jyotipg Shell Programmering og Scripting 1 07-19-2006 09:26 PM
kører et program for et bestemt tidsrum prosputko Højtstående Programmering 3 07-06-2005 01:39 PM
tid ur-program Ben070371 UNIX for dummyer Spørgsmål & svar 5 12-05-2003 07:57 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 06-04-2008
tcskurra tcskurra is offline
Registreret Bruger
  
 

Join Date: Jun 2008
Stillinger: 2
Question Shell-program til at acceptere flere anmodning på samme tid

Hej,

Jeg fik et script, der sender e-mail til brugeren baseret på en række variabler, der modtages fra Tivoli server overvågning 6.1.
Nu at holde styr på de mails jeg har skrevet en lagret procedure i DB2 som vi bruger DB2 UDB som back-end, der tager de variabler, der blev brugt til at sende post og opbevar den i tabellen.

Jeg ringer denne butik procedure fra en Shell-program og for hver mail er sendt via scriptet jeg kalder tanken programmet ved at videregive de variabler, der bruges til at sende mails, som igen er gået til DB2 lagret procedure.

Jeg har også en log fil, der gemmer tidsstempel og andre oplysninger af alle mails, der blev sendt.

Det er arbejder helt fint.

Men mit problem er når jeg er overensstemmelse mellem data fra DB og de data, der i logfilen min BF har altid et mindre antal i forhold til logfilen. Jeg er sikker på logfilen er ikke at have nogen dubletter.

Når jeg sammenlignede logfilen data og data i databasen fandt jeg, at hvis flere anmodning kommer på samme tid, shell program ikke er i stand til at behandle dem alle.

Det er, hvis jeg får 5 hits på samme tid shell fil kan kun behandle 1 ansøgning eller max 2 eller 3 anmoder om det er faldende andre 3 eller 2 hits.

Hvordan kan jeg løse dette. Hvordan kan jeg få min shell program behandle flere ansøgninger.


Thanks in advance.

Hilsen
Praveen
  #2 (permalink)  
Old 06-05-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
Vis os koden.
  #3 (permalink)  
Old 06-05-2008
tcskurra tcskurra is offline
Registreret Bruger
  
 

Join Date: Jun 2008
Stillinger: 2
Citat:
Oprindeligt Indsendt af epoke View Post
Vis os koden.

Hi koden er som følgende

#! / bin / sh
# Workdir \u003d 'X: / Tivoli/bin/w32-ix86/TME/TEC/TCS_ACTIVE/TECTASK'
email_id \u003d `perl X: / Tivoli/bin/w32-ix86/TME/TEC/TCS_ACTIVE/TECTASK/ip_mail.pl $ hostname `
echo "| $ email_id | \ n"
# echo "| $ filial | \ n"
# echo "| $ location | \ n"
branch \u003d `echo $ email_id | cut-d" "-f 1`
location \u003d `echo $ email_id | cut-d" "-f 2«
email \u003d `echo $ email_id | cut-d" "-f 3`
to_email_id \u003d `echo $ email | cut-d": "-f 1`
cc_email_id \u003d `echo $ email | cut-d": "-f 2«
alias_name \u003d `echo $ email | cut-d": "-f 3`


AT \u003d $ to_email_id
CC \u003d $ cc_email_id

MAIL_MESSAGE \u003d "
Kære Administrator, \ n
Tivoli Monitoring begivenheden modtaget med følgende oplysninger: \ n
\ n
Hostname: $ hostname \ n
IP_Address: $ oprindelse \ n
SITUATION: $ situation_name \ n
Severity: $ sværhedsgrad \ n
Årsag: $ situation_displayitem \ n
Forekomst: $ situation_time \ n
\ n
De nærmere oplysninger om begivenheden er som følger: \ n
\ n
Message: The Logical Volume $ situation_displayitem på serveren $ hostname er $ pct__used% fuld. I øjeblikket er ledig plads er $ free_megabytes MB. \ N

\ n
For at se den aktuelle status for serveren, logge på \ n
http://XX.XX.XX.XX///cnp/kdh/lib/cnp.html
\ n
Bemærk: Dette er en automatisk genereret e-mail, skal du ikke svare tilbage. \ N
I tilfælde af spørgsmål bedes du kontakte de lokale Tivoli koordinatorer. \ N
\ n
\ n


Subject \u003d "The Situation $ situation_name udløst på serveren $ hostname"

X \u003d "$ (X: / sendEmail-f tivoli.monitoring @ tcs.com -t $ TO-CC $ CC-u $ subject-m "$ MAIL_MESSAGE"-s xx.xx.xx.xx) "
echo "$ filial; $ location; $ hostname, $ situation_name; $ X $ TIL">> X: / mail.log
echo "$ filial; $ location; $ hostname, $ situation_name, $ timestamp; $ msg, $ to, $ X">> X: / event.log


X: / count / disk_mail.sh $ cms_hostname $ situation_name $ situation_origin $ oprindelse $ adapter_host $ timestamp $ to $ CC


Den sidste linje med fed skrift er, hvor jeg ringer til DB2 lagrede procedure fra skallen fil disk_mail.sh. Alle ovenstående kode er ment til at sende e-mail baseret på de parametre recived fra Tivoli.

DB2 lagret procedure er inde X: / count / disk_mail.sh og dette har følgende kode.

db2cmd / w / i <<EOF
echo "------------------------------------------------ -------------------------------------------------- ------">> "X: / rapporter / track_disk.txt"
DB2 forbindelse til XXXX Bruger XXXX hjælp XXXX
DB2 opkald ITMUSER.MAIL_TRACK_SP ( '$ 1', '$ 2', '$ 3', current_timestamp, '$ 4', '$ 5', '$ 6', '$ 7', '$ 8')>> "X: / rapporter / track_disk. txt "
EOF
echo "indsættes værdier med succes $ 2 $ 3">> "X: / rapporter / track_disk.txt"
echo "------------------------------------------------ -------------------------------------------------- -------">> "X: / rapporter / track_disk.txt"
  #4 (permalink)  
Old 06-05-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
Jeg er ikke bekendt med DB2, Men hvis det ikke giver dig mulighed for at køre flere db2cmd forekomster på samme tid, bliver du nødt til at serialiserer dem en eller anden måde. En almindelig teknik er at skabe en "lock" fil i en delt placering, og fjerne det når du er færdig. Hvis filen allerede findes, når du ønsker at oprette det, tilbage fra (måske sove i et par sekunder), og prøv igen senere. Hvordan præcist at oprette en låsefil sikkert afhænger af din platform osv., men google rundt efter "lock-fil". Hvis du har Procmail, det kommer med en lockfile nytte. Måske DB2 allerede har noget lignende, faktisk.

(Jeg troede databaser skulle løse dette problem, selv om. Du kan ikke tillade samtidig skriver til den samme post, men nogle databaser giver dig mulighed for at låse blot record (s), du vil skrive til, og lade en anden proces at skrive til andre poster på samme tid. Googling for DB2-lås bringer nogle vagt lovende links.)

PS. Du vil måske gå tilbage og redigere de levende e-mail-link til din Tivoli admin konto. Jeg forestiller mig, du ikke ønsker, at den kan begynde at modtage spam (måske er det for sent allerede)
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 12:35 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0