This is because you redirect echo output to mail , so there is nothing to write to the log file. As a result, the log file is empty.
If you want to write echo output to a log file and also send it to mail , use tee , as shown below:
echo 'blabla' 2>&1 | tee /test/test.log | mail -s "Cron report" test@example.com
source share