我有一個用例,我需要kubectl在crontab. 我收到所有kubectl命令的空回應
我試過這個
#!/bin/sh
/usr/bin/kubectl get po >> /cron.txt
幫助將不勝感激!
uj5u.com熱心網友回復:
我不知道為什么你沒有得到任何輸出,但我想我知道為什么它沒有告訴你為什么它沒有得到輸出。
您的命令列只會獲取標準輸出,并將標準錯誤丟在地板上。stderr 很可能會告訴您為什么它不起作用。
嘗試將命令列更改為:
/usr/bin/kubectl get po 2>&1 >> /cron.txt
uj5u.com熱心網友回復:
既然你已經嘗試使用運行它bash和sh,這個問題是因為~/.kube/config在你的home。
如果要添加一個cron通過crontab -e,要添加一個cron的root用戶,并root沒有~/.kube/config在它的home。
有幾種方法可以解決您的問題,看看哪個更適合您:
如果出于某種原因需要使用user運行它,您可以將檔案從
~/.kube/configto復制,但這不是一個好習慣。/root/.kube/configroot您可以設定一個類似的環境變數
$KUBECONFIG并將檔案位置匯出到整個系統。查看configure-access-multiple-clusters/#linux-1。您還可以設定 a
contrab并強制您的用戶運行它,為此您需要編輯/創建一個檔案/etc/cron.d/并傳遞用戶名,例如:
.
0 7 * * * username /usr/bin/kubectl get po >> ~/cron.txt
如果您有任何問題,請告訴我。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/383013.html
