The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



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
hoe om te voorkomen dat meerdere e-mailberichten uit de monitoring script si_linux Programmeren en Shell Scripting 2 06-07-2007 06:55
Probeert te lezen gegevens meerdere keren coachr Programmeren en Shell Scripting 1 12-14-2006 08:19 PM
Probeert te lezen gegevens meerdere keren coachr Programmeren en Shell Scripting 0 12-06-2006 02:11 PM
Vergrendeling van een bestand bij het gebruik van VI, om te voorkomen dat meerdere sessies bewerken door diff gebruikers Browser_ice AIX 14 11-23-2006 10:43
matching meerdere keren in dezelfde lijn oldtrash Programmeren en Shell Scripting 2 04-28-2004 06:57 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-14-2006
Sree_2503 Sree_2503 is offline
Geregistreerde gebruiker
  
 

Join Date: Oct 2006
Posts: 10
Voorkomen dat bestand worden verzonden meerdere keren van een baan

We hebben een ksh die ooit vertrekt iedere 15 minuten. Gebaseerd op een bepaalde voorwaarde (voor ongeldige gegevens) zijn wij spoolen een bestand en als het bestand is met een lengte groter dan 0 bytes, dan zijn we mailing dit bestand naar een groep gebruikers. Na ontvangst van het dossier, de gebruikers de juiste gegevens, zodat op de volgende run van dezelfde gegevens niet is geselecteerd en de wachtrij wordt het bestand 0 bytes en is daarom niet gemaild over te brengen.
Maar, het meestal gebeurt dat gebruikers meer dan 15 minuten om de gegevens te corrigeren en dus deze job creëert hetzelfde bestand en stuurt het naar het gebruik opnieuw.

Wat ik zoek, is er een teller logica die ik kan instellen en die mij toestaat om het bestand slechts een keer van het groter is dan 0 bytes sturen.

Beste zou zijn - zodra het bestand is gemaakt met meer dan 0 bytes voor de eerste keer, zal het slechts een keer worden verzonden (dat wil zeggen voor de eerste keer) en na dat, zeg, voor de komende 2 uur (waarvan 7 meer cycli impliceert) ,, zelfs als dit bestand wordt gecreëerd nooit helemaal zal worden gestuurd.

Bedankt,
Sree
  #2 (permalink)  
Old 11-14-2006
RTM's Avatar
RTM RTM is offline Forum Advisor  
Hog Hunter
  
 

Join Date: april 2002
Locatie: Op mijn motorfiets
Berichten: 3039
Je kon, als je mail het bestand verplaatsen naar file.old en vervolgens in de volgende run, als er een file.old, te vergelijken met het nieuwe bestand dat net is gemaakt. Als ze hetzelfde te doen, mail het niet. Als ze verschillend zijn, voeg de nieuwe wijzigingen in de file.old en stuur / mail de nieuwe veranderingen en beweeg de nieuwe te file.old. Op deze manier hoeft u niet verliest alle informatie die moet worden gecorrigeerd, de gebruikers zal worden om gegevens die nieuw is.

Zodra u een run zonder wijzigingen (nul bytes) hebt, kun je verwijderen file.old voor de toekomst draait.
  #3 (permalink)  
Old 11-14-2006
Sree_2503 Sree_2503 is offline
Geregistreerde gebruiker
  
 

Join Date: Oct 2006
Posts: 10
Hoi,

Bedankt RTM. Dit lijkt de beste oplossing tot nu toe. Ik heb ontwierp de stroom van het algoritme op basis van deze oplossing - Here It Goes --

Code:
--*******************************************--
| Non-Repeating Mailing Logic in the program: |
--*******************************************--

---------------------------------------------------------
|BEGIN PROCESSING BLOCK:				|
---------------------------------------------------------


Check for existence of File A_Old created on the previous day.
 
 If File A_Old was created on the previous day, then
 
    Remove File A_Old.
 
 Else, 

1. Create File A.

If File A > 0 bytes, then

   2. Check whether File A_Old exists or not.
   
   If File A_Old does not exist, then     -- (this implies this is the first time mailing process)
   
   2a(i). Copy File A to File A_Old.
   2a(ii). Mail File A to the users.
   2a(iii). Remove File A.
   
   If File A_Old does exist, then      -- (this implies we might have already mailed the Rejects file)
   
   2b. Compare File A with File A_Old.
   
       If both the files are the same, then
       
       2b(i). Skip Mailing process.
       
       If the files are different, then
       
       2b(ii). Copy File A to File A_Old.
       2b(iii).Mail File A.
       2b(iv). Remove File A.

If File A = 0 bytes, then

   Skip entire mailing process.
   
---------------------------------------------------------
|END PROCESSING BLOCK:					|
---------------------------------------------------------
Echter, voor dit recht om te gaan, moet ik weten hoe kan ik of een bestand is gemaakt op de vorige dag of niet (dat wil zeggen op welke manier kan het bestand creëren timestamp worden opgehaald en comapared tegen de huidige datum), indien de timestamp is van de laatste dag, dan zou ik het verwijderen van de oude bestand, anders behouden.

Thanks again, RTM.

--
Sree
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 06:30 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0