在 Debian(以及大多数 Linux 发行版)中,定时任务主要通过 cron 来管理。下面是常用的查看方式,按使用场景整理:
crontab -l
查看指定用户的定时任务(需要 root 权限):
sudo crontab -l -u 用户名
例如:
sudo crontab -l -u www-data
cat /etc/crontab
内容示例:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
✅ 注意:
/etc/crontab 中必须指定用户
Debian 使用 run-parts 自动执行以下目录中的脚本:
ls -l /etc/cron.hourly/
ls -l /etc/cron.daily/
ls -l /etc/cron.weekly/
ls -l /etc/cron.monthly/
这些目录里的脚本会被系统定时执行。
/etc/cron.d/ 目录ls -l /etc/cron.d/
这个目录用于软件包或管理员添加的 cron 规则,例如:
/etc/cron.d/rsync
/etc/cron.d/sysstat
查看内容:
cat /etc/cron.d/*
grep CRON /var/log/syslog
查看最近执行记录:
grep CRON /var/log/syslog | tail -n 50
如果启用了 rsyslog,也可以:
journalctl -u cron
cat /etc/anacrontab
anacron 常用于:
如果系统使用 systemd timer:
systemctl list-timers
查看详细信息:
systemctl list-timers --all
查看某个 timer:
systemctl status xxx.timer
| 目的 | 命令 |
|---|---|
| 当前用户任务 | crontab -l |
| 指定用户任务 | sudo crontab -l -u 用户名 |
| 系统 cron | cat /etc/crontab |
| cron 目录 | ls /etc/cron.* |
| cron 日志 | grep CRON /var/log/syslog |
| systemd timer | systemctl list-timers |
如果你愿意,可以告诉我:
我可以给你更精确的命令 ✅