can't execute shell script from crontab
- Ensure that your script is executable
chmod +x /home/open-cv/run.sh
- Try to use a particular binary from your environment
#!/bin/bash
/home/py/env/bin/python /home/py/script.py
Jobs run through cron
, or at
, or batch
, aren't run in the same runtime environment that you have on your desktop. None of your PATH
changes, or other environment variable settings are automatically propagated to your cron
job. For example, there's no $DISPLAY
, so GUI programs need special treatment (read man xhost
).
One can set environment variables for all one's cron
jobs in the crontab
file
Read man 5 crontab
.
Look at the results of echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias
in each of your environments.
Since the command
part of the crontab
line is, by default, interpreted by /bin/sh
, which has a simpler syntax than /bin/bash
, I recommend having command
be a call to a bash
script (executable, mounted, starts with #!/bin/bash
) which sets up the environment, then calls the desired program.