The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Begäran att ändra skriptet att lista flera parametrar för V_fieldid rörliga Sammy Shell-programmering och Skript 0 03-30-2008 09:08
döda flera instanser av samma program ipzig Shell-programmering och Skript 12 12-17-2007 02:42
Perl-program för att läsa från flera filer jyotipg Shell-programmering och Skript 1 07-19-2006 10:26
köra ett program för en viss tid prosputko High Level Programming 3 07-06-2005 02:39
temne klockan program Ben070371 UNIX for Dummies Frågor & Svar 5 12-05-2003 07:57

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-04-2008
tcskurra tcskurra is offline
Registered User
  
 

Join Date: juni 2008
Inlägg: 2
Question Shell programmet att acceptera flera begäran på samma gång

Hej,

Jag har ett script som skickar e-post till användare baserat på vissa variabler från Tivoli Monitoring Server 6.1.
Nu att hålla koll på de brev jag skrev en lagrad procedur i DB2 som vi använder DB2 UDB som bakdelen som tar de variabler som användes för att skicka e-post och förvara den i tabellen.

Jag ringer denna butik förfarande från ett skal-program och för varje post skickas via script jag kallar skal-programmet genom att skicka variabler som används för att skicka post, vilket i sin tur skickas till DB2 stored procedure.

Jag har även en loggfil som lagrar timestamp och annan information av alla mail som har skickats.

Det fungerar perfekt böter.

Men mitt problem är när jag stämmer uppgifterna från DB och data i loggfilen mitt BF alltid ha ett mindre antal i förhållande till loggfilen. Jag är säker på att loggfilen inte har några dubbletter.

När jag jämförde data loggfilen och data i databasen Jag upptäckte att om flera begäran är på väg på samma gång är tanken program inte behandla dem alla.

Det är om jag får 5 förfrågningar om samtidigt skal fil kan bara behandla 1 begära eller max 2 eller 3 begär det blir sämre andra 3 eller 2 förfrågningar.

Hur fixar jag detta. Hur kan jag göra mitt skal program bearbeta flera förfrågningar.


Tack på förhand.

Hälsningar
Praveen
  #2 (permalänk)  
Old 06-05-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652
Visa oss koden.
  #3 (permalänk)  
Old 06-05-2008
tcskurra tcskurra is offline
Registered User
  
 

Join Date: juni 2008
Inlägg: 2
Citat:
Ursprungligen postat av eran View Post
Visa oss koden.

Hej koden är följande

#! / 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 "| $ plats | \ 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 $ e | cut-d": "-f 1`
cc_email_id \u003d `echo $ e | cut-d": "-f 2`
alias_name \u003d `echo $ e | cut-d": "-f 3`


TO \u003d $ to_email_id
CC \u003d $ cc_email_id

MAIL_MESSAGE \u003d "
Kära Administrator, \ n
Tivoli Monitoring Evenemanget fick med följande information: \ n
\ n
Värdnamn: $ hostname \ n
Ip_address: $ ursprung \ n
SITUATION: $ situation_name \ n
Severity: $ svårighetsgrad \ n
Orsak: $ situation_displayitem \ n
Förekomst: $ situation_time \ n
\ n
Närmare detaljer om händelsen är följande: \ n
\ n
Meddelande: The Logical Volume $ situation_displayitem på servern $ värdnamnet $ pct__used% full. Närvarande det fria utrymmet är $ free_megabytes MB. \ N

\ n
Att visa aktuell status på servern, loggar in på \ n
http://XX.XX.XX.XX///cnp/kdh/lib/cnp.html
\ n
Obs: Detta är en auto skapade svar du inte svara tillbaka. \ N
Vid eventuella frågor kontakta lokala Tivoli samordnarna. \ N
\ n
\ n


Subject \u003d "Situationen $ situation_name utlöses på servern $ 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 $ till">> X: / mail.log
echo "$ filial, $ location, $ hostname, $ situation_name, $ timestamp, $ msg, $ till, $ X">> X: / event.log


X: / count / disk_mail.sh $ cms_hostname $ situation_name $ situation_origin $ ursprung $ adapter_host $ timestamp $ till $ CC


Den sista raden i fetstil är där jag uppmanar DB2 lagrade proceduren från skalet fil disk_mail.sh. Alla ovanstående kod är menad för att skicka e-post baserat på de parametrar som fick ta emot från Tivoli.

DB2 lagrade procedur är inne i X: / count / disk_mail.sh och detta har följande kod.

db2cmd / w / i <<EOF
echo "------------------------------------------------ -------------------------------------------------- ------">> "X: / reports / track_disk.txt"
DB2 ansluta till XXXX Användare XXXX med XXXX
DB2 samtal ITMUSER.MAIL_TRACK_SP ( '$ 1', '$ 2', '$ 3', current_timestamp, '$ 4', '$ 5', '$ 6', '$ 7', '$ 8')>> "X: / reports / track_disk. txt "
EOF
echo "inmatade värden framgångsrikt $ 2 $ 3">> "X: / reports / track_disk.txt"
echo "------------------------------------------------ -------------------------------------------------- -------">> "X: / reports / track_disk.txt"
  #4 (permalänk)  
Old 06-05-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652
Jag är inte bekant med DB2, Men om det inte är så att du kan köra flera db2cmd instanser på samma gång, måste du serialize dem på något sätt. En vanlig teknik är att skapa ett "lås"-fil på en delad plats, och ta bort det när du är färdig. Om filen redan finns när du vill skapa den, backa (kanske sova i några sekunder) och försök igen senare. Hur exakt för att skapa en lås-fil säkert beror på din plattform etc, men Google omkring för "lock file". Om du har Procmail, kommer det med en LockFile utility. Kanske DB2 redan har något liknande, faktiskt.

(Jag trodde databaser var tvungen att lösa detta problem, though. Du kan inte tillåta samtidig skriver till samma post men vissa databaser kan du låsa den rad (er) du vill skriva till, och låta en annan process att skriva till andra uppgifter på samma gång. Googla för DB2 lås tar upp något vagt lovande länkar.)

PS. Du kanske vill gå tillbaka och redigera de levande e-post länk till din Tivoli administratörskonto. Jag antar att ni inte vill för att börja ta emot spam (kanske det är för sent redan)
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 02:48.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0