以下命令在终端中运行没有错误:
kubectl logs -l app=nodejs > /home/ubuntu/logs/nodejs.log
但是当我将它添加到 crontab
*/1 * * * * kubectl logs -l app=nodejs > /home/ubuntu/logs/nodejs.log
我收到一个错误/bin/sh: 1: kubectl: not found
有谁知道如何解决这个问题?
以下命令在终端中运行没有错误:
kubectl logs -l app=nodejs > /home/ubuntu/logs/nodejs.log
但是当我将它添加到 crontab
*/1 * * * * kubectl logs -l app=nodejs > /home/ubuntu/logs/nodejs.log
我收到一个错误/bin/sh: 1: kubectl: not found
有谁知道如何解决这个问题?
谢谢安东,
问题通过以下方式解决:
这个问题经常出现。问题是这些问题的作者忘记了当他们从命令行运行一个程序时,它运行在那个特定用户的环境中。
而当cron运行同一个程序时,则程序环境继承自cron。并且在这两种不同的编程环境中,有两种不同的PATH变量。
因此,相同的程序可能会在用户的搜索路径中找到,而在cron的搜索路径中可能找不到。