Thread: QUERY A PSQL DB USING CRONTAB
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
#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
Sigrid Yahaira Meneses Nielsen
tel cel 044 11 09 94 63
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
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