事象
タイトルの通り、cronで設定されたshellscriptでembulkを呼び出せません。
"コマンドが見つかりません"となります。
PATHの確認なども行ったのですが、原因が分かりません。
Embulk v0.9.23
試したこと
確認のため、下記のようなshを作成しました。
- test.sh(PATH, HOME, embulkファイル確認, embulk -v実行)
#!/bin/bash CURRENT=$(cd $(dirname $0);pwd) export PATH="$HOME/.embulk/bin:$PATH" echo $PATH >> ${CURRENT}/text.log echo $HOME >> ${CURRENT}/text.log ls -l $HOME/.embulk/bin/embulk >> ${CURRENT}/text.log embulk -v >> ${CURRENT}/text.log
- cron設定
* * * * * /home/ec2-user/bin/test.sh
- 実行結果(text.log)
/home/ec2-user/.embulk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin /home/ec2-user -rwxrwxr-x. 1 ec2-user ec2-user 44506338 Apr 20 2021 /home/ec2-user/.embulk/bin/embulk
上記のようにembulk -vの部分はログに出力されず、
"コマンドが見つかりません"となっていしまいます。
terminalからの実行は行なえます。
PATH以外に原因などあるでしょうか。実行権限も全てのユーザで実行出来るはずです。
OS: centos
embulk の実体内で使ってるコマンドがみつからないのでは?
エラーメッセージをコピペで書きましょう。
> embulk の実体内で使ってるコマンドがみつからないのでは?
javaでしょうか?
>エラーメッセージを書きましょう。
事象に記載しているとおりです。
"コマンドが見つかりません"となっている以外特に出力はありません。
"コマンドが見つかりません"というメッセージが出ているのであれば、それはOSやシェルが出しているメッセージじゃなくて、embulk コマンドが出しているメッセージですので、embulk の仕様を調べるのでしょうね。必要な設定など。何らかの環境変数が必要なのでは?
日本語設定なのでコマンドが見つかりませんと出るのですが、
bash: command not foundと同じだと思っています。
bashがメッセージを出す場合は、先頭に bash: と出ますので違います。
回答1件
あなたの回答
tips
プレビュー