Fix: Cron Jobs Failing Silently
By default cron discards all output if no MAILTO is configured or if the mail system isn't set up. Failures disappear without a trace.
Log output with timestamps
# Append stdout and stderr to a log file: 0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1 # With timestamps: 0 2 * * * date >> /var/log/backup.log; /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
Log rotation — /etc/logrotate.d/cron-backup
/var/log/backup.log {
weekly
rotate 8
compress
missingok
notifempty
}Test in cron-like environment
env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin $ /usr/local/bin/your-script.sh
Visualise your crontab to detect timing and overlap issues.
Open Tool →