首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kubectl终端命令在crontab中不工作,如何修复?

kubectl终端命令在crontab中不工作,如何修复?
EN

Stack Overflow用户
提问于 2018-08-15 23:33:49
回答 2查看 2.1K关注 0票数 2

我有下面的小python脚本

代码语言:javascript
复制
import os
os.system('kubectl get pods --context students-cmn')

当我从终端手动运行这个命令时,它正在工作,没有问题,所以我将它配置为作为cron作业运行,但当cron作业触发下面的错误时

代码语言:javascript
复制
sh: kubectl: command not found

为什么,当cronjob触发时,kubectl不工作?

有人能帮帮忙吗

EN

回答 2

Stack Overflow用户

发布于 2018-08-16 13:13:01

首先,我假设您正计划将代码添加到python脚本中,这就是您使用python的原因。我假设您使用了可以运行该命令的用户的crontab。

cron中执行命令时,必须指定该命令的完整路径。要找到kubectl的完整路径,您可以在终端中发出以下命令:

代码语言:javascript
复制
which kubectl

它将打印完整的路径。

然后,编辑脚本(假设完整路径为"/opt/Kubernetes/bin"):

代码语言:javascript
复制
import os
os.system('/opt/Kubernetes/bin/kubectl get pods --context students-cmn')
票数 7
EN

Stack Overflow用户

发布于 2020-03-06 17:02:26

当我试图用cron在CentOS 7中将"kubectl“命令执行到.sh/py文件中时,我得到了同样的问题。我可以手动运行脚本.sh/.py文件,输出很好。当我尝试使用脚本设置cron作业时,"kubectl“命令无法执行。它没有为cron事件生成任何日志。如果你不介意,请支持我。

crontab : * * * * * python /home/sanglv/kube-status.py >> /tmp/status.txt

kube-status.py file : #!/usr/bin/env python #ls command import os os.system('/usr/bin/kubectl get pods --all-namespaces --kubeconfig="/root/.kube/config"')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51861845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档