Using Relative Paths in Crontab
centos, cron, php
Solution
After many trials and research, I discovered that the solution was using the `HOME=` variable, not the `PATH=` variable, like so:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/var/www/html/crons
And then each of the lines would just look like:
*/2 * * * * root /usr/bin/php cronfile.php >> logs/cronfile_`date +\%Y\%m\%d`.log
Hope this helps someone else with the same issue I had in the future.
Problem
I am attempting to use relative paths in my crontab file on CentOS 6.4, so that I do not have to repeat the same absolute path over and over again. At the top of my crontab file, located here: `/etc/crontab`, I have: ``` SHELL=/bin/bash PATH=/var/www/html/crons MAILTO="" HOME=/ ``` And each of my commands looks like: ``` */2 * * * * root /usr/bin/php "cronfile.php" >> "logs/cronfile_"`date +\%Y\%m\%d`".log" ``` I'm expecting that it'll run the `cronfile.php` PHP file in the `/var/www/html/crons` directory, and save the output from this to `/var/www/html/crons/logs/cronfile.log`. However, the file is not being run and the log file is not being created. The command works fine if I run just: ``` /usr/bin/php "cronfile.php" >> "logs/cronfile_"`date +\%Y\%m\%d`".log" ``` from the command line after `cd`ing into the `/var/www/html/crons` directory. Please advise, thanks.