在cron选项卡中找不到snowsql

时间:2019-02-06 13:49:22

标签: shell cron snowflake

我试图从我与cron作业一起计划的shell脚本中执行snowsql。但是我遇到了像snowsql这样的错误:找不到命令。

我浏览了许多链接,他们在链接中要求我们提供完整的雪花路径。我也尝试过但是没有运气。 https://support.snowflake.net/s/question/0D50Z00007ZBOZnSAP/snowsql-through-shell-script。以下是我的代码段abc.sh:

#!/bin/bash
set -x
 snowsql --config /home/basant.jain/snowsql_config.conf \
-D cust_name=mean \
-D feed_nm=lbl \
-o exit_on_error=true \
-o timing=false \
-o friendly=false \
-o output_format=csv \
-o header=false  \
-o variable_substitution=True \
-q 'select count(*) from table_name'  

我的crontab如下所示:
*/1 * * * * /home/basant.jain/abc.sh

1 个答案:

答案 0 :(得分:1)

Cron不会像您的登录Shell那样设置PATH

正如您在问题中所写的那样,您可以指定snowsql的完整路径,例如

#!/bin/bash
/path/to/snowsql --config /home/basant.jain/snowsql_config.conf \
...

注意:/path/to/snowsql仅是示例。当然,您应该找出snowsql的真实路径,例如使用type snowsql

或者您可以尝试获取/etc/profile的资源。也许这将设置PATH来呼叫snowsql

#!/bin/bash
. /etc/profile
snowsql --config /home/basant.jain/snowsql_config.conf \
...

请参阅How to get CRON to call in the correct PATHs