crontab不工作,但它作为脚本工作

2eafrhcq  于 2021-06-04  发布在  Sqoop
关注(0)|答案(2)|浏览(483)

下面是我的crontab:


* /5 * * * * /usr/bin/wget "http://localhost:8080/sample/index.jsp" --post-data "data=$(nohup sqoop import --connect 'jdbc:sqlserver://localhost;username=username;password=password;database=database' --table table1 --target-dir /user/data/ -m 1)&dt=$(date)&user=$USER"

我正在安排,但它没有运行

quhf5bfb

quhf5bfb1#

这可能是因为您的应用程序不在同一执行上下文中。取决于你正在运行的shell(改编我的旧学校) .kshrc ),您可能需要在命令前面加上 source /home/myuser/.kshrc ,如下所示:


* /5 * * * * source /home/myuser/.kshrc ; /usr/bin/wget "http://localhost:8080/sample/index.jsp" --post-data "data=$(nohup sqoop import --connect 'jdbc:sqlserver://localhost;username=username;password=password;database=database' --table table1 --target-dir /user/data/ -m 1)&dt=$(date)&user=$USER"

如果可以的话,如果您的命令可以嵌入到一个小脚本中,那么对每个人来说,这看起来都会更简单。这可以避免这种可能的误导 nohup 你有。。。如果脚本是 mycommand.sh :


* /5 * * * * source /home/myuser/.kshrc ; /home/myuser/mycommand.sh

(给了你一个 chmod u+x /home/myuser/mycommand.sh 授予执行权)。

t1qtbnec

t1qtbnec2#

您必须在crontab中使用完整路径,因为它没有与shell相同的$path值(即对nohup、sqoop使用完整路径)

相关问题