我在usr/local/bin
目录中安装了geckodriver并导出到$ PATH变量。
export PATH=$PATH:~/usr/local/bin/geckodriver
您可以看到我的$ PATH中有usr/local/bin
root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
但是,我通过cronjob运行ruby脚本我收到以下错误消息:无法找到Mozilla geckodriver。
我的Cronjob
*/20 * * * * ~/.rbenv/bin/rbenv exec ruby /home/path/to/the/ruby/script/report_export.rb
我启动ruby脚本以便一切正常。有人可以帮助我,它也适用于cronjob
答案 0 :(得分:2)
可能是您的导出位于cron守护程序未调用的位置。
要调查用echo $PATH >> /tmp/crontab.log
替换你的cronjob,然后检查' /tmp/crontab.log'对于PATH并检查/usr/local/bin
是否存在。
另一个原因可能是cron守护程序作为不同的用户运行,因此无法访问geckodriver。检查ls -la /usr/local/bin | grep gecko
。如果是这种情况,请结帐this SO question