gpt4 book ai didi

linux - 脚本不在 cron 下运行,而是手动运行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:28 25 4
gpt4 key购买 nike

我有一个开发人员为我编写的脚本,它执行主要与 ffmpeg 相关的各种功能。当我使用

手动运行脚本时
sh /home/site/rawvids/encode.sh > /home/site/rawvids/log.txt

脚本运行正常,但是当它通过 cron 运行时失败,错误代码为 127

有什么想法吗?

脚本中的

ls -l 显示:

-rwxrwxrwx 1 site nobody 3786 Jul 23 17:07 /home/site/rawvids/encode.sh*

最佳答案

错误 127 表示“找不到命令”。您可能在脚本中运行了一些不在 cron 中的命令(如果查看 /etc/crontab,您可以看到 cron 的 PATH 是什么) .

您可以在 shell 中检查您当前的 PATH:

$ echo $PATH

然后将此 PATH 复制到脚本的开头:

PATH=... 

而不是 ... 你必须写你之前得到的行(使用 echo $PATH)。

还要检查脚本开头是否有 shebang 行 #!/bin/sh。如果您在命令行中不使用 sh 启动脚本,它是导入的。

另外,如果您能向我们展示 /etc/crontab 中运行脚本的行,那就太好了。

关于linux - 脚本不在 cron 下运行,而是手动运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com