The UNIX and Linux Forums  


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
hvordan man kan forhindre flere e-mail meddelelser fra overvågning script si_linux Shell Programmering og Scripting 2 06-07-2007 06:55 AM
Forsøger at læse data flere gange coachr Shell Programmering og Scripting 1 12-14-2006 08:19 PM
Forsøger at læse data flere gange coachr Shell Programmering og Scripting 0 12-06-2006 02:11 PM
Låsning af en fil, når du bruger VI for at forhindre flere redigere Samling af diff brugere Browser_ice AIX 14 11-23-2006 10:43 AM
matching flere gange i samme linie oldtrash Shell Programmering og 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 11-14-2006
Sree_2503 Sree_2503 is offline
Registreret Bruger
  
 

Join Date: oktober 2006
Stillinger: 10
Forhindre fil fra at blive sendt flere gange fra et job

Vi har en ksh, der kører en gang hvert 15. minut. Baseret på en bestemt betingelse (for ugyldige data) er vi spooling en fil og hvis filen er af en længde større end 0 byte, så er vi mailing denne fil til en gruppe af brugere. Ved modtagelse af den fil, rette brugere dataene, så på sit næste køre de samme data ikke er valgt, og spoolet filen bliver 0 bytes og dermed ikke er sendt på tværs.
Men det meste sker det, at brugerne tager mere end 15 minutter til at korrigere de data, og dermed dette job skaber den samme fil og sender den til de anvendelser igen.

Hvad jeg leder efter, er der en tæller logik, som jeg kan indstille, og som vil tillade mig at sende filen kun én gang om den er større end 0 byte.

Bedste ville være - når filen er oprettet med mere end 0 byte for første gang, vil det kun sendes én gang (dvs. for første gang) og efter at sige, for de næste 2 timer (hvilket indebærer, 7 flere cykler) , denne fil, selv hvis de er oprettet bliver aldrig vil blive sendt til alle.

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

Join Date: Apr 2002
Location: På min motorcykel
Stillinger: 3039
Du kan, når du sender filen, flytte den til file.old og derefter i de næste løb, hvis der er en file.old, at sammenligne den med den nye fil, der er lige lavet. Hvis de er det samme, ikke mail det. Hvis de er forskellige, tilføjer de nye ændringer til file.old og send / mail den nye ændringer og derefter flytte det nye til file.old. Denne måde, behøver du ikke mister nogen information, der skal korrigeres, at brugerne vil være at få data, der er nyt.

Når du har en køre uden ændringer (nul bytes), kan du fjerne file.old for fremtidige kører.
  #3 (permalink)  
Old 11-14-2006
Sree_2503 Sree_2503 is offline
Registreret Bruger
  
 

Join Date: oktober 2006
Stillinger: 10
Hej,

Tak RTM. Dette synes at være den bedste løsning hidtil. Jeg har designet strømmen af algoritmen er baseret på denne løsning - her det går --

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:					|
---------------------------------------------------------
Men for at dette skal gå til højre, jeg har brug for at vide, hvordan kan jeg finde om en fil er oprettet på den foregående dag eller ej (dvs. på nogen måde kan filen Oprettelsestidsstempel hentes og comapared mod den nuværende dato), hvis tidsstemplet er af den sidste dag, så ville jeg være at slette den gamle fil, ellers beholde det.

Tak igen, RTM.

--
Sree
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 01:17 AM.


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