目录
目录X
linux系统中如何查看crontab定时任务是否正常执行
要查看 crontab 是否正常执行,可以从几个角度排查:
1. 查看 crontab 任务列表
crontab -l
确认你的任务存在且语法正确。
2. 检查 cron 服务是否在运行
systemctl status crond # 大多数 Linux 系统
# 或者
service cron status # Debian/Ubuntu 系统
输出应显示 active (running)。
如果没运行,可以启动:
sudo systemctl start crond
sudo systemctl enable crond # 开机自启
3. 查看 cron 执行日志
不同系统日志路径不同:
CentOS / RHEL / 麒麟等:
sudo grep CRON /var/log/cron
Ubuntu / Debian:
sudo grep CRON /var/log/syslog
通过日志可以看到 cron 是否触发了你的任务,以及有没有报错。
4. 在任务中添加日志输出
在 crontab 中这样写:
*/3 * * * * /path/to/your/sync_script.sh >> /tmp/sync.log 2>&1
解释:
>> /tmp/sync.log:把标准输出追加到日志文件2>&1:把错误输出也重定向到同一个日志文件
然后查看日志:
tail -f /tmp/sync.log
5. 测试 cron 环境
cron 的环境和你在终端执行的环境不同,可能找不到命令或路径。
建议在脚本开头加:
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin