Thread: QUERY A PSQL DB USING CRONTAB

QUERY A PSQL DB USING CRONTAB

From
Sigrid Meneses
Date:
Hi to everyone i hope you can help me
 
Im doing a query in a database, but i want to use crontab to do it each monday
There isn´t no problem when i run my script manually

]$ ./mdnimsi.sh
 
It generates to me a file
 
-rw-rw-r--    1 swuser   swuser    4446511 Sep 21 06:14 pttsubs20050921.txt--
 
but when i add mi script to the crontab, it genrates a file with 0 Kb , i dont know why can you help me?
 
FECH=`/bin/date +%Y%m%d`
#Se hace la busqueda en la base de datos
cd /home/swuser/MDNIMSI
psql oampwms_4_1_0_0 -c "select whlr_subscriber_profile.subscriber_id,whlr_mdn.m
dn from whlr_subscriber_profile,whlr_mdn where whlr_mdn.id = whlr_subscriber_pro
file.mdn;" > pttsubs$FECH.txt

 
in crontab
 
10 * * * * /home/swuser/MDNIMSI/mdnimsi.sh
 
the output with crontab is
 
-rw-rw-r--    1 swuser   swuser          0 Sep 16 00:30 pttsubs050916.txt
 
~
Sigrid Yahaira Meneses Nielsen
tel cel 044 11 09 94 63

Re: QUERY A PSQL DB USING CRONTAB

From
Oliver Elphick
Date:
On Wed, 2005-09-21 at 06:20 -0500, Sigrid Meneses wrote:
> ... when i add mi script to the crontab, it genrates a file with 0
> Kb , i dont know why can you help me?
>
> FECH=`/bin/date +%Y%m%d`
> #Se hace la busqueda en la base de datos
> cd /home/swuser/MDNIMSI
> psql oampwms_4_1_0_0 -c "select
> whlr_subscriber_profile.subscriber_id,whlr_mdn.m
> dn from whlr_subscriber_profile,whlr_mdn where whlr_mdn.id =
> whlr_subscriber_pro
> file.mdn;" > pttsubs$FECH.txt
>
...
>
> -rw-rw-r--    1 swuser   swuser          0 Sep 16 00:30
> pttsubs050916.txt

You probably need to set PATH in the script to include where to find
psql, or else use the full path in the psql command.  Cron only has a
very restricted path set for it.

Oliver Elphick


Re: QUERY A PSQL DB USING CRONTAB

From
Sigrid Meneses
Date:
Hi Oliver thanks for your help, i tried with your option, but it didnt works, so i got the logs, and found that the problem was: the crontab take for defauklt a logname, so when it want to acces to the DB it havent access. So when we define the user to access the crontab works fine
example
psql -d databasename -U postgress -c "command"

 
2005/9/21, Oliver Elphick <olly@lfix.co.uk>:
On Wed, 2005-09-21 at 06:20 -0500, Sigrid Meneses wrote:
> ... when i add mi script to the crontab, it genrates a file with 0
> Kb , i dont know why can you help me?
>
> FECH=`/bin/date +%Y%m%d`
> #Se hace la busqueda en la base de datos
> cd /home/swuser/MDNIMSI
> psql oampwms_4_1_0_0 -c "select
> whlr_subscriber_profile.subscriber_id,whlr_mdn.m
> dn from whlr_subscriber_profile,whlr_mdn where whlr_mdn.id =
> whlr_subscriber_pro
> file.mdn;" > pttsubs$FECH.txt
>
...
>
> -rw-rw-r--    1 swuser   swuser          0 Sep 16 00:30
> pttsubs050916.txt

You probably need to set PATH in the script to include where to find
psql, or else use the full path in the psql command.  Cron only has a
very restricted path set for it.

Oliver Elphick




--
Sigrid Yahaira Meneses Nielsen
tel cel 044 11 09 94 63