我有下面的小python脚本
import os
os.system('kubectl get pods --context students-cmn')当我从终端手动运行这个命令时,它正在工作,没有问题,所以我将它配置为作为cron作业运行,但当cron作业触发下面的错误时
sh: kubectl: command not found为什么,当cronjob触发时,kubectl不工作?
有人能帮帮忙吗
发布于 2018-08-16 13:13:01
首先,我假设您正计划将代码添加到python脚本中,这就是您使用python的原因。我假设您使用了可以运行该命令的用户的crontab。
在cron中执行命令时,必须指定该命令的完整路径。要找到kubectl的完整路径,您可以在终端中发出以下命令:
which kubectl它将打印完整的路径。
然后,编辑脚本(假设完整路径为"/opt/Kubernetes/bin"):
import os
os.system('/opt/Kubernetes/bin/kubectl get pods --context students-cmn')发布于 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"')
https://stackoverflow.com/questions/51861845
复制相似问题