/etc/cron.{daily,weekly}/ -> Simple scripts without precise timing
Different Format for System
# User crontab (crontab -e)0 2 * * * /home/user/backup.sh# System files (/etc/crontab, /etc/cron.d/)0 2 * * * root /home/user/backup.sh# ^ user required
Files and Directories
File/Directory
Description
/etc/crontab
Main system crontab
/etc/cron.d/
Additional system crontabs
/etc/cron.hourly/
Scripts run every hour
/etc/cron.daily/
Scripts run every day
/etc/cron.weekly/
Scripts run every week
/etc/cron.monthly/
Scripts run every month
/var/spool/cron/crontabs/
User crontabs
/var/log/cron
Cron execution logs
Monitoring and Logs
Action
Command
View cron logs
sudo tail -f /var/log/cron
Search in logs
sudo grep "username" /var/log/cron
Cron service status
sudo systemctl status cron
Start service
sudo systemctl start cron
Restart service
sudo systemctl restart cron
Reload config
sudo systemctl reload cron
Stop service
sudo systemctl stop cron
Common Troubleshooting
Problem
Solution
Task not running
Check logs and permissions
No email notification
Configure system MTA
Permission issue
Use absolute paths
Environment variables
Define PATH in crontab
Wrong timezone
Check timedatectl
Incorrect syntax
Test with crontab -l
Environment Variables
Useful variables in crontab
System Variables
# Set editorEDITOR=nano# Set pathsPATH=/usr/local/bin:/usr/bin:/bin# Email for notificationsMAILTO=admin@example.com# Shell to useSHELL=/bin/bash# Working directoryHOME=/home/user