I have this cron job running on Ubuntu
02 12 * * * quigley-user /mnt/block/alphabits/start.sh >> /mnt/block/alphabits/start.log
The cron job runs on schedule as expected.
I have this snippet in the start.sh script
while read -r ticker apiName ;
do
echo "$ticker $apiName"
sudo /usr/bin/node /mnt/block/alphabits/index.js $ticker $apiName
done < /mnt/block/alphabits/fmpList.txt
The echo line shows the expected results, however the index.js script does not run. I can't find an error but maybe I'm missing something. If I run the command that's in the cron job from the command line it executes properly
What am I missing? Thanks!
CodePudding user response:
It is possible your node.js
relative import path is missing from crontab
context.
And possible other implicit environment variables configurations for node.js
Assuming your user $HOME
directory is /home/user1
Suggesting:
Add the following line, into your 2nd line in your start.sh
#!/bin/bash
source /home/user1/.bash_profile
This line will add your users' context path and environment variables to your script.