![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Verzoek tot wijziging script meerdere parameters voor V_fieldid variabele | Sammy | Programmeren en Shell Scripting | 0 | 03-30-2008 09:08 PM |
| doden meerdere exemplaren van hetzelfde programma | ipzig | Programmeren en Shell Scripting | 12 | 12-17-2007 02:42 |
| Perl programma te lezen uit meerdere bestanden | jyotipg | Programmeren en Shell Scripting | 1 | 07-19-2006 10:26 PM |
| draaien van een programma voor een bepaalde tijd | prosputko | Hoog Niveau Programmering | 3 | 07-06-2005 02:39 PM |
| time klok programma | Ben070371 | UNIX voor Dummies Questions & Answers | 5 | 12-05-2003 07:57 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hoi,
Ik heb een script dat de e-mail stuurt naar de gebruiker op basis van bepaalde variabelen ontvangen van Tivoli Monitoring Server 6.1. Nu bij te houden van de mails die ik heb geschreven een opgeslagen procedure in DB2 als we DB2 UDB als back-end waarin de variabelen die werden gebruikt om de mail te verzenden en op te slaan in de tabel te gebruiken. Ik roep deze winkel procedure van een Shell-programma en voor elke mail verzonden met het script roep ik de shell programma door het passeren van de variabelen die gebruikt wordt om de mails, die op zijn beurt wordt doorgegeven aan DB2 sturen opgeslagen procedure. Ik heb ook een log bestand dat zal slaan tijdstempel en andere informatie van alle mails die met succes werden verstuurd. Het werkt perfect in orde. Maar mijn probleem is als ik overeenstemming de gegevens van de DB en de gegevens in het logbestand mijn DB hebben altijd een kleiner aantal ten opzichte van het logbestand. Ik weet zeker dat het logbestand is niet met een of duplicaten. Toen ik ten opzichte van het logbestand gegevens en de gegevens in de database Ik vond dat als er meerdere vragen komen op hetzelfde moment is shellprogramma niet te verwerken allemaal. Dat is als ik 5 verzoeken tegelijkertijd shell bestand te krijgen is in staat om slechts 1 verzoek of max 2 of 3 verzoek proces is het laten vallen van andere 3 of 2 aanvragen. Hoe kan ik dit oplossen. Hoe kan ik mijn shell programma proces meerdere verzoeken. Thanks in advance. Groeten Praveen |
|
||||
|
Hi de code is als volgt #! / 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 "| $ tak | \ n" # echo "| $ locatie | \ 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` OP \u003d $ to_email_id CC \u003d $ cc_email_id MAIL_MESSAGE \u003d " Beste beheerder, \ n Tivoli Monitoring evenement ontvangen met de volgende informatie: \ n \ n HostName: $ hostname \ n Ip_address: $ oorsprong \ n SITUATIE: $ situation_name \ n Ernst: $ ernst \ n Oorzaak: $ situation_displayitem \ n Verschijning: $ situation_time \ n \ n De details van het evenement zijn als volgt: \ n \ n Bericht: The Logical Volume $ situation_displayitem op de server $ hostname is $ pct__used% vol. Momenteel is de vrije ruimte is $ free_megabytes MB. \ N \ n Om de huidige status van de server bekijken, melden bij \ n http://XX.XX.XX.XX///cnp/kdh/lib/cnp.html \ n Opmerking: Dit is een automatisch gegenereerde e-mail kunt u niet terug antwoord. \ N In geval van vragen kunt u contact opnemen met de lokale Tivoli coördinatoren. \ N \ n \ n Subject \u003d "De Situatie $ situation_name leverde op de server $ 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 "$ filiaal; $ locatie; $ hostname; $ situation_name; $ X $ to">> X: / mail.log echo "$ filiaal; $ locatie; $ hostname; $ situation_name; $ timestamp, $ msg; $ to; $ X">> X: / event.log X: / rekenen / disk_mail.sh cms_hostname $ $ $ situation_name oorsprong situation_origin $ $ adapter_host $ timestamp $ TO $ CC De laatste regel in het vet is waar ik ben het aanroepen van de DB2 opgeslagen procedure uit het reservoir bestand disk_mail.sh. Alle bovenstaande code is bedoeld voor het versturen van de e-mail gebaseerd op de parameters recived van Tivoli. DB2 stored procedure is in X: / tellen / disk_mail.sh en dit heeft de volgende code. db2cmd / w / i <<EOF echo "------------------------------------------------ -------------------------------------------------- ------">> "X: / reports / track_disk.txt" DB2 verbinding te maken met Gebruiker XXXX XXXX XXXX met DB2 oproep ITMUSER.MAIL_TRACK_SP ( '$ 1', '$ 2', '$ 3', current_timestamp, '$ 4', '$ 5', '$ 6', '$ 7', '$ 8')>> "X: / reports / track_disk. txt " EOF echo "ingevoegd waarden succes $ 2 $ 3">> "X: / reports / track_disk.txt" echo "------------------------------------------------ -------------------------------------------------- -------">> "X: / reports / track_disk.txt" |
|
||||
|
Ik ben niet bekend met db2, Maar als het niet te draaien zodat u meerdere db2cmd gevallen op hetzelfde moment, moet u ze een of andere manier serialize. Een gemeenschappelijk techniek is om een "lock creëren" bestand op een gedeelde locatie, en te verwijderen wanneer u klaar bent. Als het bestand al bestaat wanneer je het wilt maken, terug uit (misschien slaap voor een paar seconden) en probeer het later opnieuw. Hoe precies het creëren van een lock bestand veilig is afhankelijk van uw platform etc, maar google rond voor "lock file". Als u Procmail, komt het met een lockfile utility. Misschien db2 al iets dergelijks, eigenlijk.
(Ik dacht databases werden geacht om dit probleem op te lossen, dat wel. Je kunt niet tegelijkertijd toestaan schrijft aan dezelfde record maar sommige databases kunt u alleen het record (s) die u wilt schrijven op slot en laat een ander proces aan te schrijven andere records op hetzelfde moment. Googlen voor DB2 slot brengt enkele vaag veelbelovende links.) PS. Misschien wil om terug te gaan en te bewerken op de live e-mail link naar uw Tivoli admin account. Ik stel u zou niet willen om te beginnen voor het ontvangen van spam (misschien is het te laat is al) |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|