![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| como prevenir várias notificações por e-mail de acompanhamento script | si_linux | Programação Shell Script e | 2 | 06-07-2007 06:55 |
| Tentar ler os dados várias vezes | coachr | Programação Shell Script e | 1 | 12-14-2006 08:19 |
| Tentar ler os dados várias vezes | coachr | Programação Shell Script e | 0 | 12-06-2006 02:11 |
| Bloqueando um arquivo quando se usa para evitar a VI edição múltiplas sessões pelos usuários diff | Browser_ice | AIX | 14 | 11-23-2006 10:43 |
| combinando várias vezes na mesma linha | oldtrash | Programação Shell Script e | 2 | 04-28-2004 06:57 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Impedir a partir de arquivo a ser enviado várias vezes a partir de um trabalho
Temos um ksh que corre uma vez a cada 15 minutos. Baseada em um determinado estado (para dados inválidos) estamos spooling um arquivo e se o arquivo é de tamanho maior que 0 bytes, então estamos a mailing este arquivo para um grupo de usuários. Após receber o arquivo, os usuários corrigir os dados de modo que em sua próxima execute os mesmos dados não for selecionado e se torna o arquivo spool 0 bytes e, portanto, não é enviado todo.
Mas, isso acontece principalmente os usuários que consomem mais de 15 minutos para corrigir os dados e, portanto, este trabalho cria o mesmo arquivo e correio electrónico utiliza-lo para o novo. O que eu estou procurando, há uma contradição lógica que pode definir e que vai permitir-me enviar o arquivo de uma só vez é maior que 0 bytes. Melhor seria - uma vez que o arquivo é criado com mais de 0 bytes para o primeiro tempo, será enviada uma única vez (ou seja, pela primeira vez) e depois que, digamos, para os próximos 2 horas (o que implica mais 7 ciclos) , esse arquivo, mesmo que se criou nunca será enviado a todos. Obrigado, Sree |
|
||||
|
Oi,
Graças RTM. Esta parece ser a melhor solução até agora. Tenho desenhado o fluxo do algoritmo baseado nesta solução - aqui vai -- Código:
--*******************************************--
| 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: |
---------------------------------------------------------
Obrigado novamente, RTM. -- Sree |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|