我有一个脚本,开发者写了我执行主要与ffmpeg的各种功能。 当我运行该脚本使用手动
sh /home/site/rawvids/encode.sh > /home/site/rawvids/log.txt
该脚本运行正常,但当它穿过的cron它失败,错误代码127
有任何想法吗?
ls -l
的脚本显示:
-rwxrwxrwx 1个网站,没有人3786年7月23 17:07 /home/site/rawvids/encode.sh*
我有一个脚本,开发者写了我执行主要与ffmpeg的各种功能。 当我运行该脚本使用手动
sh /home/site/rawvids/encode.sh > /home/site/rawvids/log.txt
该脚本运行正常,但当它穿过的cron它失败,错误代码127
有任何想法吗?
ls -l
的脚本显示:
-rwxrwxrwx 1个网站,没有人3786年7月23 17:07 /home/site/rawvids/encode.sh*
错误127的意思是“找不到命令”。 这很可能是你在脚本的一些命令是不是在运行cron
(你可以看到什么的cron的PATH,如果你看一下/etc/crontab
)。
您可以在shell检查您的当前位置:
$ echo $PATH
然后将该路径复制到脚本的开头:
PATH=...
相反的...
你必须写你已经(使用前面得到了线echo $PATH
)。
还要检查,如果你有shebang行#!/bin/sh
在脚本的开头。 这是进口,如果你没有启动脚本sh
在命令行。
同时这将是巨大的,如果你能告诉我们从线/etc/crontab
运行该脚本。
最有可能你要么因未对cron的设置环境变量(我不知道,如果使用cron的任何?)或权限cron是下运行是错误的。 如果你喜欢管道的输出在cron的版本,它得到任何输出?
同...,以及我只是能站在这些路径的问题,我成立了一个符号链接ffprobe路径或任何缺失,像
ln -s /usr/local/bin/ffprobe /home/ec2-user/.rvm/rubies/ruby-2.3.0/bin/ffprobe