Jobs run through
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
One can set environment variables for all one’s
cron jobs in the
man 5 crontab.
Look at the results of
echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias in each of your environments.
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.