shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Agenda no shell - Problemas com crontab


From: Copag
Subject: Agenda no shell - Problemas com crontab
Date: Tue, 18 Feb 2003 09:58:29 -0300

Criei uma arquivo chamado agenda.txt, no qual coloco vários nomes, nicks, 
telefones e afins, de vários amigos. Não conheço bem shell script, mas fiz um 
executável chamado 'niver', que verifica se há alguém aniversariando naquele 
dia, através do arquivo agenda.txt. Bom, podem existir várias maneiras mais 
fáceis/corretas/coerentes de criar o 'niver', que é o script, porém, o que 
segue em anexo é o que eu consegui fazer (críticas/comentários/complementações 
são totalmente bem-vindas).

O problema é o seguinte: estou adicionando uma chamada ao arquivo no crontab, 
criando uma data de aniversário falsa que seja idêntica à data atual, porém, 
não recebo resultados.

Se eu acesso o shell e executo o script, ele funciona (inclusive com os apitos, 
que é do que necessito para saber se há alguém aniversariando naquele dia - não 
imaginei outra forma de perceber isso de 1 em 1 minuto).

A entrada que estou usando no contrab é:

1 * * * * /root/niver


Se executo no shell, o resultado é o seguinte (com apitos):

[root@redhot root]# ./niver

Conferindo se há aniversariantes hoje...

Existem aniversariantes!!


Listando...

Sueyd



O arquivo agenda.txt que estou enviando é apenas um exemplo do original, mas já 
testei e está funcionando perfeitamente.

Seguem os conteúdos. O conteúdo do agenda.txt ficou muito embolado ao colar 
aqui, mas não consegui enviar o arquivo em anexo. Se não for possível utilizar 
isso, e for de interesse de alguém eu envio os dois arquivos para o email, pois 
juntos não chegam a 2kb.


[copag@redhot copag]$ cat agenda.txt
Nome                            Nick            Endereço                        
                                           Aniversário      Ano Nasc.       
Email                           Telefone                Celular

Meu nome é tal...               Nickzinhu       Rua Gameleira Fortes Açaú, 634 
- Funcionários Tristes - Barbacena, MG - 32154-457   24/12           1983       
     address@hidden        (31) 3333-4444          (32) 9999-9999
Eduardo Doidim e Silva          Salafrário      Rua Dr. Manoel Algusto dos 
Reis, 38/101 - Leopoldina, MG - 31110-001       18/02            1984           
 address@hidden                  (32) 3444-4443          (32) 8800-0000



[copag@redhot copag]$ cat niver
#!/bin/bash

# #
# Escrito por João Paulo Brígido Tostes
# Copag
# address@hidden
#
# Use a vontade, e envie suas sugestões para que todos possam usufruir de 
melhorias.
#
# 
echo
echo "Conferindo se há aniversariantes hoje..."
echo
echo `date +%d/%m` > /tmp/procura-data.`date +%d-%m`
grep `cat /tmp/procura-data.*` ~/agenda.txt >> /tmp/niver-hoje.`date +%d-%m`
if [ `du -sH /tmp/niver-hoje.* | cut -d/ -f1` -eq "0" &> /dev/null ]; then
rm -f /tmp/niver-hoje.*
fi
if [ `cat /tmp/niver-hoje.* &> /dev/null; echo $?` -eq "0" ];then
echo "Existem aniversariantes!!"
/usr/X11R6/bin/xkbbell && sleep 1
/usr/X11R6/bin/xkbbell
/usr/X11R6/bin/xkbbell
echo -e "\a"
echo -e "\a"
echo "Listando..."
echo
cat /tmp/niver-hoje.* | cut --output-delimiter=' ' -f1
echo
else
echo "Não tem ninguém..."
echo
fi
rm -f /tmp/niver-hoje.*
rm -f /tmp/procura-data.*
sleep 3


# Final :)



Agradeço desde já qualquer ajuda.


Atenciosamente,





.'~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~|
|                     João Paulo Brígido Tostes                 |
|              (o_.'  Copag [ address@hidden ]                |
|  (o_   (o_   //\    Em busca de fortes emoções...             |
|  (/)_  (\)_  V_/_   Breve, uma nova era do mundo Unix!        |
|                                 Aguardem!                     |
|        Linux User Registered #176331 | UIN #47176203          |
`-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~-~~'







reply via email to

[Prev in Thread] Current Thread [Next in Thread]