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

Cron定时任务执行异常求助

Cron定时任务执行异常求助

兄弟,我来帮你排查这个问题!你的cron任务没生成日志,核心是两个容易踩的坑:

问题根源

  • source是Shell内置命令,cron没法直接调用
    cron执行任务时,默认用/bin/sh作为执行器,但source是bash(或其他交互式Shell)的内置命令,不是独立的可执行程序,所以cron找不到这个命令,任务直接失败了。
  • cron的执行环境和你平时登录的Shell不一样
    就算绕开source的问题,cron的环境变量、工作目录都比登录Shell精简很多,但你的情况里主要是第一个问题导致的。

解决办法(推荐第一种)

办法1:直接用bash执行脚本(最简洁通用)

把你的cron行改成这样:

0 0 * * * /bin/bash /home/myname/cronsh.sh

然后记得给脚本加可执行权限:

chmod +x /home/myname/cronsh.sh

这样cron会直接调用bash来运行你的脚本,完全不需要用source,脚本里的date命令就能正常写入日志了。

办法2:如果一定要用source(比如脚本里要加载环境变量)

要是你的脚本里有需要加载的环境变量,必须用source的话,得让cron先启动bash再执行命令:

0 0 * * * /bin/bash -c 'source /home/myname/cronsh.sh'

不过你的场景里只是写date,第一种办法足够了。

额外排查小技巧

  • 可以给cron任务加错误日志输出,方便下次排查:
0 0 * * * /bin/bash /home/myname/cronsh.sh >> /home/myname/cronlog.txt 2>&1

这样不仅会记录正常输出,连错误信息也会写到日志里,能快速定位问题。

  • 查看系统的cron日志,比如/var/log/cron(不同Linux发行版路径可能有差异),里面会详细记录任务是否执行、有没有报错。

备注:内容来源于stack exchange,提问作者SO_32

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 08:33:03