You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2实例Crontab定时任务未执行问题求助

解决crontab任务不执行的问题

针对你的情况,手动运行脚本正常但crontab未执行,按以下步骤排查:

  • 确认cron服务运行状态
    先检查EC2实例上的crond服务是否在运行:

    systemctl status crond
    

    如果服务未启动,执行以下命令启动并设置开机自启:

    systemctl start crond
    systemctl enable crond
    
  • 启用crontab的环境变量配置
    你当前crontab里的SHELL和PATH配置处于注释状态,cron默认的环境变量PATH非常有限,可能导致脚本里的命令找不到。把这两行的注释符号#去掉:

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    

    这样cron会使用指定的shell和完整PATH执行任务。

  • 确保脚本有执行权限
    虽然你用/bin/bash直接调用脚本,但给脚本加上执行权限能避免潜在的权限问题:

    chmod +x /home/ec2-user/info.sh
    
  • 检查脚本内的路径引用
    cron执行任务时的工作目录是用户的家目录(比如/home/ec2-user),如果你的脚本里用了相对路径(比如./output.log),手动运行时的工作目录可能和cron不同,导致找不到文件。把脚本里所有文件路径改成绝对路径,比如/home/ec2-user/output.log。

  • 查看cron日志排查错误
    通过日志可以直接看到任务执行的状态和错误信息:

    grep CRON /var/log/messages
    # 或者用journalctl查看更详细的日志
    journalctl -u crond
    

    日志里会明确显示任务是否触发,以及失败的原因(比如权限不足、命令不存在等)。

  • 修正任务执行时间
    你需要每5分钟执行一次,但当前配置的是*/1 * * * *(每分钟执行),改成*/5 * * * *就能实现每5分钟执行一次的需求。

内容的提问来源于stack exchange,提问作者VijayNannapaneni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 10:15:56