Cron Runs but I See No Output
Cron does not print to your terminal — it emails a job's output to the crontab owner via the local MTA. If no mailer is installed you see nothing. The fix is to redirect output to a log file yourself.
Redirect output to a file
Append this to the crontab line so you capture both stdout and stderr:
* * * * * /path/to/job.sh >> /var/log/job.log 2>&1
>> appends stdout, 2>&1 sends stderr to the same place. Now the output lands in the log instead of a mail spool you never read.
Why cron 'swallows' output
By default cron mails any output to the owner (MAILTO or the local user). Without a working MTA (postfix/sendmail) that mail is dropped, so the job looks silent even when it ran fine.
Discard output on purpose
To silence a job completely, redirect to /dev/null: > /dev/null 2>&1. To keep errors only, use 1>/dev/null and let stderr mail or log.
FAQ
Where does cron output go?
Cron emails a job's stdout/stderr to the crontab owner via the local mail system. If no MTA is configured the output is discarded, so redirect to a log file with >> file 2>&1.
How do I log cron output to a file?
Add >> /var/log/job.log 2>&1 to the end of the crontab line. >> appends stdout, 2>&1 merges stderr into the same file.
How do I stop cron from emailing me?
Redirect the job's output to /dev/null (> /dev/null 2>&1) or set MAILTO="" at the top of the crontab.