我正在运行一个运行一些鸡蛋脚本的Freenas监狱环境。其中一个脚本在某个时候执行命令(在TCL中):
set nfoc [exec curl -m 10 -s -f -k -3 --connect-timeout 3 -L "$url" -o "/tmp/$filename"]
因此它下载了一个文件。当我设置此设置时,一切都很好,但是在重新启动监狱之后(甚至没有那个主服务器,只是监狱)。
我发现了错误的错误:
Tcl error [::bc::onEncryptedText]: couldn't execute "curl": no such file or directory
我确保将卵滴的目录全部chmoddd到0777,并且所有路径都是正确的。
问题只有在监狱重新启动后出现,任何人都知道问题可能是什么?
任何帮助将不胜感激。
您是否在运行机器人的主机上安装了curl
,或者它不在路径上。由于CRON任务使用A 大大减少路径(包括安全性,包括安全性),您必须在脚本中设置路径,或使用curl
的全名。两者都很容易。
要在脚本中设置路径,请在终端中使用echo $PATH
查看事物工作时的状态,然后在脚本中进行此操作(最好是很早):
set ::env(PATH) "/the/path/you/found/earlier/for/example:/usr/local/bin:/bin:/usr/bin"
要硬编码curl
的位置,请在终端中使用which curl
来查找它,然后在您的脚本中使用该值,例如:
set nfoc [exec /usr/local/bin/curl -m 10 -s -f -k -3 --connect-timeout 3 -L "$url" -o "/tmp/$filename"]
哪个最好?好吧,如果您要从几个地方调用curl
,那么设置路径可能会更容易,但是如果您只是在一个位置调用它,那么对位置进行硬编码是一个非常简单的修复。
好的,似乎问题是'botchk'cronjob of Eggdrop的文件。它看起来不兼容FreeBSD。
我将研究其他在Boottime启动机器人的方法。我现在正在手动开始蛋清,问题似乎消失了。