首页/安全/取证与溯源速查/计划任务执行日志
日志溯源53 条

计划任务执行日志

cron 执行集中在 /var/log/cron(RHEL)或 syslog/journal 中:任务定义与执行记录对照,重点看新增任务与失败反复的任务。

取证与溯源速查安全更新于 2026-10-13

计划任务日志怎么查

cron 是 Linux 上最常用的定时执行机制,也是攻击者做持久化的常见落点。执行记录集中在 /var/log/cron(RHEL 系)、/var/log/syslog 或 /var/log/cron.log(Debian 系),使用 journald 的系统可用 journalctl -u cron 检索。判读方法是对照两件事:任务定义文件的时间与内容、执行记录的时间与次数。新增任务、任务内容指向临时目录或脚本、以及反复执行失败的任务,都是需要优先核实的对象。除 cron 外还要检查 systemd 定时器(.timer 单元)。

基本信息

适用平台各 Linux 发行版(cron 与 systemd timer)
日志位置/var/log/cron(RHEL 系)、/var/log/syslog 或 /var/log/cron.log(Debian 系)、journalctl -u cron
任务定义位置/etc/crontab、/etc/cron.d/、/etc/cron.{hourly,daily,weekly,monthly}/、/var/spool/cron/crontabs/<用户>
systemd 侧systemctl list-timers、/etc/systemd/system/*.timer 与对应 .service
关键判读点任务新增时间、执行者身份、执行的命令路径、失败重试

典型使用场景

  • 确认事件窗口内是否有计划任务被新增,定位持久化入口
  • 核对任务定义与执行记录:任务存在但从未执行、或执行了但定义已被删除,都是异常形态
  • 排查反复失败的任务:失败信息常泄露攻击者的工具路径与网络目标
  • 识别伪装成系统任务的自定义任务:注释与命名看似正常但命令指向用户目录
  • 确认数据定期外带行为:固定周期的压缩打包与上传动作

检索与核对

检索与核对
# 执行记录(不同发行版路径不同,两条都试)
grep -i cron /var/log/syslog | tail -50
journalctl -u cron --since '24 hours ago' | tail -50
grep -i 'CRON\|cron' /var/log/cron 2>/dev/null | tail -30
# 任务定义清单与修改时间(新增任务会暴露时间)
ls -l --time-style=full-iso /etc/crontab /etc/cron.d/ /var/spool/cron/crontabs/ 2>/dev/null
crontab -l 2>/dev/null; for u in $(cut -d: -f1 /etc/passwd); do crontab -l -u $u 2>/dev/null | grep -v '^#'; done
# systemd 定时器
systemctl list-timers --all | head -20; grep -Rn 'ExecStart' /etc/systemd/system/*.timer 2>/dev/null

记录与定义对照

观察点含义判读要点
定义时间晚于基线任务在事件窗口内被创建与变更单核对,非计划即为重点
有定义无执行记录任务未到触发时间或 cron 服务异常确认服务状态,排除日志缺失
有执行记录无定义定义被删除或来自其他机制提示清理痕迹,需查其他来源
反复失败命令路径错误或依赖缺失失败信息中含路径与目标,价值高
触发频率异常每分钟执行等激进配置常见于恶意持久化,优先核实
任务定义文件的修改时间与执行日志要并排看:定义在事件窗口内被改动、紧接着出现执行记录,是最直接的时间证据链。
容器环境里 cron 通常由宿主或编排系统驱动,容器内看不到对应日志;此时要转到宿主机与编排平台的调度记录中排查。

易错点

  • 只查 /etc/cron.d 漏掉用户 crontab:用户级任务在 /var/spool/cron 下,遗漏会漏掉最常见的持久化方式
  • 忽略 systemd 定时器:新版发行版上 timer 单元逐渐取代 cron,只查 cron 会漏一大类
  • 把任务定义当执行证据:定义存在不等于执行过,反之执行记录也可能来自已被删除的定义,两个方向都要核
  • 日志级别过低导致执行记录不全:未启用 cron 日志或日志轮转过快时,必须用任务文件时间与文件系统痕迹补充
  • 在清理阶段直接删除任务:删除前应保存任务内容、文件时间戳与哈希,否则后续无法证明任务性质

数据来源与参考

  • man 8 cron
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌