Kettle がエラー ldconfig: コマンドが見つからない解決策を報告しました

I.はじめに

以前はテスト サーバーにケトルがあるのは正常でしたが、サーバーを変更してケトルを移行した後、問題が発見されました。

1. 次のコマンドを手動で実行してケトルを実行します。

LOG_DATE=`date +%Y%m%d`
LOG_PATH=/home/admin/kettle/logs/mykettle_${LOG_DATE}.log
KJB_PATH=/home/admin/kettle/kjb
/home/admin/kettle/data-integration/kitchen.sh -file=${KJB_PATH}/mykettle_.kjb  >>${LOG_PATH} 2>&1

2. ただし、crontabやかんを使うと

*/1 * * * * /home/admin/kettle/shell/mykettle.sh >> /home/admin/kettle/logs/cron.log 2>&1

エラーが報告されます。

/home/admin/kettle/data-integration/spoon.sh: line 118: ldconfig: command not found
#######################################################################
WARNING:  no libwebkitgtk-1.0 detected, some features will be unavailable
    Consider installing the package with apt-get or yum.
    e.g. 'sudo apt-get install libwebkitgtk-1.0-0'
#######################################################################
/home/admin/kettle/data-integration/spoon.sh: line 227: java: command not found

2. 調査のプロセス

1. Baidu を検索したno libwebkitgtk-1.0 detected, some features will be unavailableところ、関連するやかんのチュートリアルが多数あることがわかりました。つまり、webkitgtk-2.4.9-1.el7.x86_64.rpmパッケージをインストールする必要があります。

パッケージは次の Web サイトからダウンロードできます。

http://www.rpmfind.net/linux/rpm2html/search.php?query=libicui18n&submit=Search+...&system=&arch=

2. ただし、インストール後もcrontabケトルを使用するとエラーが報告されます。

/home/admin/kettle/data-integration/spoon.sh: line 118: ldconfig: command not found
#######################################################################
WARNING:  no libwebkitgtk-1.0 detected, some features will be unavailable
    Consider installing the package with apt-get or yum.
    e.g. 'sudo apt-get install libwebkitgtk-1.0-0'
#######################################################################
/home/admin/kettle/data-integration/spoon.sh: line 227: java: command not found

3. 解決策

1. インターネットでいろいろ検索しましたが、解決策が見つかりませんでした。

2. 分析の結果、spoon.sh: line 118: ldconfig: command not foundcrontab がldconfig の実行に失敗したことが問題であることがわかりました。(kettle の手動実行は成功するので、libwebkitgtk-1.0 パッケージがないことは問題ではないはずです)

3. crontab: でコマンド test を設定する*/1 * * * * ldconfig -p >> /home/admin/abc.log 2>&1と、エラー メッセージも出力されることがわかります。

/bin/sh: ldconfig: command not found

この時点で、 libwebkitgtk-1.0 パッケージがないのではなく、エラー レポートのcrontab実行の問題であると判断されますldconfig(フォローアップでは、 java コマンドの実行でエラーがレポートされることも示されています)。spoon.sh: line 227: java: command not found

4. サーバーの担当者に問題をフィードバックすると、いくつかの環境変数が変更されました(sbin などを追加したとのことですが、何が変更されたのか理解していませんでした)。

5. 次に、次のコードをspoon.shの先頭に追加します(環境変数を更新するため)。

#!/bin/sh
. /etc/profile
. ~/.bash_profile

再テストにより、crontab が kettle を正常に実行したことがわかりました。

4. 備考

1. 今回の問題は、libwebkitgtk-1.0 パッケージがないことではなく、ldconfig および java コマンドの実行時に crontab がエラーを報告するという問題です。

2. 環境変数を更新するコマンドをspoon.shの先頭に追加して、問題が解決できるかどうかを確認できます。

3. そうでない場合は、環境変数の設定が正しいかどうかによって異なります(どの環境変数をチェックする必要があるかが明確ではありません。検索可能である必要があり、crontab执行ldconfig报错パス sbin と関係がありますか?)

おすすめ

転載: blog.csdn.net/BHSZZY/article/details/132026734