SSH経由で渡すときにコマンドが見つかりません。

SSH経由で渡すときにコマンドが見つかりません。

システム:

Red Hat Enterprise Linuxサーバーバージョン7.6(Maipo)、3.10.0-957.el7.x86_64

ターゲット:

複数のサーバーからデータを収集して同じであることを確認する構成。

働くもの:

ssh $SERVERNAME 'yum list installed | grep -E "krb|java|libkadm|realmd|oddjob|sssd|adcli"' >> $FILENAME

うまくいかないもの:

ssh $SERVERNAME 'adcli info domain.name' >> $FILENAME
ssh $SERVERNAME 'realm list' >> $FILENAME

受信したエラー:

bash:adcli:コマンドが見つかりません

bash:ゾーン:コマンドが見つかりません

フルスクリプト:

#!/bin/bash

DATE=`date '+%Y%m%d'`

SERVERLIST=(
#"server1.com"
"server2.com"
"server3.com"
#"server4.com"
"server5.com"
)

for SERVERNAME in ${SERVERLIST[*]}
do
        FILENAME=${SERVERNAME}-config.${DATE}
        ssh $SERVERNAME 'yum list installed | grep -E "krb|java|libkadm|realmd|oddjob|sssd|adcli"' >> $FILENAME
        ssh $SERVERNAME 'adcli info domain.name' >> $FILENAME
        ssh $SERVERNAME 'realm list' >> $FILENAME
        ssh $SERVERNAME 'cat /etc/sssd/sssd.conf' >> $FILENAME
done

答え1

GracefulRestartはほぼ確実です。

確認せずに、サーバーのexecとsshの間の$ PATH出力をサーバーのexecと比較します。

[server2.com]# echo $PATH [jumpbox]# ssh server2.com 'echo $PATH'

ssh $ PATH環境変数に "adcli"パスと "realm"パスがない場合、最も簡単な回避策はフルパスを使用することです。

関連情報