![]() |
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.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
| hur man kan förebygga flera e-postmeddelanden från övervakning script | si_linux | Shell-programmering och Skript | 2 | 06-07-2007 05:55 |
| Försöker att läsa data flera gånger | coachr | Shell-programmering och Skript | 1 | 12-14-2006 08:19 |
| Försöker att läsa data flera gånger | coachr | Shell-programmering och Skript | 0 | 12-06-2006 02:11 |
| Låsa en fil när du använder VI för att förhindra flera redigera sessioner med diff användare | Browser_ice | AIX | 14 | 11-23-2006 10:43 |
| matchningsalternativ flera gånger på samma linje | oldtrash | Shell-programmering och Skript | 2 | 04-28-2004 05:57 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Förhindra filen från att skickas flera gånger från ett jobb
Vi har en ksh som går en gång var 15 minut. Baserat på ett visst villkor (för ogiltiga data) vi buffra en fil och om filen är en längd större än 0 byte, då är vi utskick denna fil till en grupp av användare. Efter att ha mottagit filen, användare korrigera uppgifterna så att det på nästa kör samma data inte är markerad och filen buffras blir 0 byte och är därför inte skickas över.
Men det mesta händer att användare tar mer än 15 minuter för att korrigera uppgifterna och därmed detta arbete skapar samma fil och post den till användning igen. Vad jag letar efter, är det en disk logik som jag kan ställa och som tillåter mig att skicka filen bara en gång om det är större än 0 byte. Bästa skulle vara - när filen skapats med mer än 0 byte för första gången kommer det att sändas endast en gång (det vill säga för första gången) och efter att säga, för nästa 2 timmar (vilket innebär 7 mer cykler) denna fil, även om det blir skapade aldrig kommer att skickas till alla. Tack, Sree |
|
||||
|
Hej,
Tack RTM. Detta verkar vara den bästa lösningen hittills. Jag har designat flödet av algoritm baserad på denna lösning - Here It Goes -- Kod:
--*******************************************--
| 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: |
---------------------------------------------------------
Tack igen, RTM. -- Sree |