I am just getting started with basex and have been attempting to load data into a basex db via a cron job. I am running the basexclient inside my job redirecting a bxs command file to the client. this works well when i run my script off the command line by fails when run via cron. i've checked the obvious stuff (relative paths, permissions etc).
Does anyone have experience loading basex via cron that could point me in the right direction. thanks
/home/xxx/basex/bin/basexclient -Uxxx -Pxxx < /home/xxx/load.bxs
Is there any error message in your syslog files? How does the line in the crontab look like?
Hi Robt,
I don't know if you can use sequence of commands on crontab, while I would use "/home/xxx/basexjob.sh" instead of "cd home/xxx; ./basexjob.sh"
That's is respond from looking your cron line.
hope it helps, -andria
On Mon, Feb 11, 2013 at 1:05 PM, rsr robt.s.ryan@gmail.com wrote:
no error in syslog
40 * * * * cd home/xxx; ./basexjob.sh
On 02/11/2013 06:59 AM, Jens Erat wrote:
Is there any error message in your syslog files? How does the line in the crontab look like?
______________________________**_________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-**konstanz.de BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.**de/mailman/listinfo/basex-talkhttps://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Hi!
40 * * * * cd home/xxx; ./basexjob.sh
- Which user's crontab is that line in, the user's you've been testing the script from? - `home/xxx` looks weird, do you probably mean `/home/xxx`? - What's inside your `basexjob.sh`?
- - -
On Andria's comments:
I don't know if you can use sequence of commands on crontab
That's fine.
while I would use "/home/xxx/basexjob.sh" instead of "cd home/xxx; ./basexjob.sh"
The script could depend on the current path. If it doesn't, I'd prefer that, too.
Regards form Lake Constance, Germany, Jens
thanks for the replys
1 - its ok to stack multiple commands in cron, i do it all the time 2 - yes, i miskeyed my cron line is should be "40 * * * * cd /home/xxx; ./basexjob.sh" 3 - line in my bash script is "/home/xxx/basex/bin/basexclient -Uxxx -Pxxx < /home/xxx/load.bxs"
On 02/11/2013 07:18 AM, Jens Erat wrote:
Hi!
40 * * * * cd home/xxx; ./basexjob.sh
- Which user's crontab is that line in, the user's you've been testing the script from?
- `home/xxx` looks weird, do you probably mean `/home/xxx`?
- What's inside your `basexjob.sh`?
On Andria's comments:
I don't know if you can use sequence of commands on crontab
That's fine.
while I would use "/home/xxx/basexjob.sh" instead of "cd home/xxx; ./basexjob.sh"
The script could depend on the current path. If it doesn't, I'd prefer that, too.
Regards form Lake Constance, Germany, Jens
Has the misspelled path been in your crontab or only your mail? Is it working now?
You didn't reply on this line:
- Which user's crontab is that line in, the user's you've been testing the script from?
The cron job definition has been fine all along; the bash script fires fine as well, but the referenced line , below, in the script that runs the basexclient does not seem to be running.
On Mon, Feb 11, 2013 at 7:56 AM, Jens Erat jens.erat@uni-konstanz.dewrote:
Has the misspelled path been in your crontab or only your mail? Is it working now?
You didn't reply on this line:
- Which user's crontab is that line in, the user's you've been testing
the script from?
-- Jens Erat
PGP: 350E D9B6 9ADC 2DED F5F2 8549 CBC2 613C D745 722B
Am 11.02.2013 um 13:44 schrieb rsr robt.s.ryan@gmail.com:
thanks for the replys
1 - its ok to stack multiple commands in cron, i do it all the time 2 - yes, i miskeyed my cron line is should be "40 * * * * cd /home/xxx;
./basexjob.sh"
3 - line in my bash script is "/home/xxx/basex/bin/basexclient -Uxxx
-Pxxx < /home/xxx/load.bxs"
On 02/11/2013 07:18 AM, Jens Erat wrote:
Hi!
40 * * * * cd home/xxx; ./basexjob.sh
- Which user's crontab is that line in, the user's you've been testing
the script from?
- `home/xxx` looks weird, do you probably mean `/home/xxx`?
- What's inside your `basexjob.sh`?
On Andria's comments:
I don't know if you can use sequence of commands on crontab
That's fine.
while I would use "/home/xxx/basexjob.sh" instead of "cd home/xxx;
./basexjob.sh"
The script could depend on the current path. If it doesn't, I'd prefer
that, too.
Regards form Lake Constance, Germany, Jens
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Please answer my question on which user's crontab used.
This is important as BaseX by default accesses its configuration files and data in the user's home directory, so if you're testing that script using user "xxx" but use "root"s crontab, you're writing to another home directory.
If so, either move to "xxx"s crontab (probably best way) or append some `sudo -u xxx ` either in your script or when calling it.
There is something in the basexclient script that causes it to fail despite my best attempts to coax it to run in a contrived cron environment. Cron job has been running all along as "xxx" user.
I finally just gave up on the script and and am simply running the client out of my cron script by directly invoking the jvm myself i.e.
java -cp ......... org.basex.BaseXCLient
Its not the prettiest thing I have ever done, but its working.
On 02/11/2013 08:09 AM, Jens Erat wrote:
Please answer my question on which user's crontab used.
This is important as BaseX by default accesses its configuration files and data in the user's home directory, so if you're testing that script using user "xxx" but use "root"s crontab, you're writing to another home directory.
If so, either move to "xxx"s crontab (probably best way) or append some `sudo -u xxx ` either in your script or when calling it.
Dear Rob,
in general, BaseX runs fine when being invoked via cronjobs. Next, I just reproduced your scenario and didn’t encounter any surprises (I have no idea, though, what‘s happening inside your script).
3 - line in my bash script is "/home/xxx/basex/bin/basexclient -Uxxx
-Pxxx <
/home/xxx/load.bxs"
You may need to remove the last "<", as there is no need to redirect the file contents to the client:
/home/xxx/basex/bin/basexclient -Uxxx -Pxxx /home/xxx/load.bxs
Hope this helps, Christian ___________________________
On 02/11/2013 07:18 AM, Jens Erat wrote:
Hi!
40 * * * * cd home/xxx; ./basexjob.sh
- Which user's crontab is that line in, the user's you've been testing
the
script from?
- `home/xxx` looks weird, do you probably mean `/home/xxx`?
- What's inside your `basexjob.sh`?
On Andria's comments:
I don't know if you can use sequence of commands on crontab
That's fine.
while I would use "/home/xxx/basexjob.sh" instead of "cd home/xxx; ./basexjob.sh"
The script could depend on the current path. If it doesn't, I'd prefer that, too.
Regards form Lake Constance, Germany, Jens
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
basex-talk@mailman.uni-konstanz.de