The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
hvordan du kan forhindre at flere beskjeder fra overvåking script si_linux Shell programmering og Skripting 2 06-07-2007 06:55
Prøver å lese data flere ganger coachr Shell programmering og Skripting 1 12-14-2006 08:19
Prøver å lese data flere ganger coachr Shell programmering og Skripting 0 12-06-2006 02:11
Låse en fil når du bruker VI for å forhindre flere redigere økter med diff brukere Browser_ice AIX 14 11-23-2006 10:43
samsvarende flere ganger i samme linje oldtrash Shell programmering og Skripting 2 04-28-2004 06: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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 11-14-2006
Sree_2503 Sree_2503 is offline
Registrert bruker
  
 

Bli Dato: Oct 2006
Innlegg: 10
Forhindre filen blir sendt flere ganger fra en jobb

Vi har ksh som går hvert 15. minutt. Basert på en bestemt betingelse (for ugyldige data) vi er spoling en fil, og hvis filen er av lengde større enn 0 byte, så vi er mailing denne filen til en gruppe brukere. Ved mottak filen, brukere riktige dataene slik at på sin neste kjøre de samme dataene ikke er valgt, og filen kø blir 0 byte og er derfor ikke sendt over.
Men det meste skjer at brukerne tar mer enn 15 minutter å korrigere dataene og dermed denne jobben skaper den samme filen og innlevere den til bruk igjen.

Hva jeg ser etter, er det en teller logikk som jeg kan stille og som vil tillate meg å sende filen bare én gang av den er større enn 0 byte.

Beste ville være - når filen er opprettet med mer enn 0 byte for første gang, vil det bli sendt bare en gang (dvs. for første gang) og etter det, sier, for de neste 2 timer (noe som innebærer 7 mer sykluser) , denne filen, selv om det blir opprettet aldri vil bli sendt i det hele tatt.

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

Bli Dato: april 2002
Beliggenhet: På min motorsykkel
Innlegg: 3039
Du kan, når du e-post filen, flytte den til file.old og så i neste kjøre, hvis det er en file.old, sammenligne den nye filen som nettopp laget. Hvis de er de samme, ikke e det. Hvis de er forskjellige, legger de nye endringene i file.old og send / post de nye endringene, og flytt deretter nye til file.old. På denne måten trenger du ikke mister noe informasjon som må korrigeres, brukerne vil få data som er nytt.

Når du har kjørt med noen endringer (null bytes), kan du fjerne file.old for fremtidig driver.
  #3 (permalink)  
Old 11-14-2006
Sree_2503 Sree_2503 is offline
Registrert bruker
  
 

Bli Dato: Oct 2006
Innlegg: 10
Hei,

Takk RTM. Dette synes å være den beste løsningen så langt. Jeg har laget flyten av algoritme basert på denne løsningen - 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:					|
---------------------------------------------------------
Men for at dette skal gå riktig, må jeg vite hvor jeg kan finne om en fil er opprettet på dagen eller ikke (dvs. på noen måte kan filoppretting tidsstempelet bli funnet og comapared mot gjeldende dato), hvis tidsstempelet er den siste dagen, så jeg ville være å slette den gamle filen, ellers beholde den.

Takk igjen, RTM.

--
Sree
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 07:18.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0