Bash script failing when run by cron - mktemp outputting nothing -


i have shell script, works when run manually, silently fails when run via cron. i've trimmed down minimal example:

#!/usr/bin/env bash  echo "here:" echo $(mktemp tmp.xxxxxxxxxx) 

if run command line, outputs here: , new temporary filename.

but if run cron file this, here: followed empty line:

shell=/bin/bash home=/ mailto=”me@example.com”  0 5 * * * /home/phil/test.sh > /home/phil/cron.log 

what's difference? i've tried using /bin/mktemp, no change.

the problem script tries create temporary file in root directory when started cron , has no permission that.

the cron configuration file contains home=/. current directory / when script starts. , template passed mktemp contains file name mktemp tries create temporary file in current directory , /.

$ home=/ $ cd $ mktemp tmp.xxxxxxxxxx mktemp: failed create file via template ‘tmp.xxxxxxxxxx’: permission denied 

Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -