怎么查看linux排程执行情况
怎么查看linux排程执行情况详细介绍
在 Linux 中查看排程(计划任务)的执行情况,主要涉及 cron 定时任务、at 一次性任务、systemd timer 等工具,以下是具体方法:
一、查看
cron 定时任务(最常用)
1. 查看当前用户的 cron 计划
bash
2. 查看其他用户的 cron 计划(需管理员权限)
bash
用户名
3. 查看系统级 cron 计划(全局任务)
- 系统级 cron 配置文件位于:bash
/etc/cron.d//etc/crontab
4. 查看 cron 执行日志
- 日志路径因发行版而异:
- CentOS/RHEL:
/var/log/cron - Ubuntu/Debian:
/var/log/syslog(需用grep cron过滤) - 通用方法(推荐):bash
CRON /var/log/syslog/var/log/cron
- 实时监控日志:bash
/var/log/cron
- CentOS/RHEL:
二、查看
at 一次性任务(临时排程)
1. 查看待执行的 at 任务
bash
atq
2. 删除指定任务(任务编号由
atq 输出)
bash
atrm 任务编号
三、查看
systemd timer(systemd 环境下的定时任务)
1. 查看激活的 timer 列表
bash
systemctl list-timers
2. 查看所有 timer(包括未激活的)
bash
systemctl list-timers
3. 查看具体 timer 单元的详情
bash
systemctl status 单元名.timer
4. 系统 timer 文件位置:
- 系统级:
/usr/lib/systemd/system/*.timer - 用户自定义:
~/.config/systemd/user/*.timer或/etc/systemd/system/*.timer
四、查看
anacron 任务(针对非每日开机的场景)
1. 查看 anacron 配置
bash
/etc/anacrontab
2. 查看 anacron 执行日志
bash
/var/log/anacron
五、补充:查看任务是否正在运行
1. 通过进程查看(以 cron 为例)
bash
aux cronaux
2. 通过 systemd 查看服务状态(若任务由 systemd 管理)
bash
systemctl status 服务名
六、日志分析技巧
- 过滤指定用户的任务:bash
/var/log/cron - 按时间范围筛选(例如最近 1 小时):bash
journalctl
总结
- 定时任务配置:优先检查
crontab -l或系统级/etc/cron.d/。 - 执行记录:通过日志文件(
/var/log/cron或syslog)分析历史执行情况。 - systemd 环境:善用
systemctl list-timers查看现代定时器。
根据你的 Linux 发行版(如 Debian/Ubuntu/CentOS),日志路径和工具可能略有差异,但核心思路一致。如果任务未按预期执行,建议先检查日志中的错误信息。