SSHでサーバーに接続してユーザーを切り替えてから、複数のコマンドを実行してください。

SSHでサーバーに接続してユーザーを切り替えてから、複数のコマンドを実行してください。

スクリプトは内部でsshを試してからユーザーを切り替えて複数のコマンドを実行しようとします。

この問題を解決するのに役立ちますか?

例は次のとおりです。

ssh $a@$e << EOF        
sudo su hbase << EOF    
echo "list '"$tID":.*' " | /ignio/hbase/bin/hbase shell &> ListOutput

cat ListOutput | grep "^"${tID}":" >ListOfTable

while read line; do

echo $line

tableName=`echo $line | cut -d':' -f2`

/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Driver import $tID:$tablename hdfs:///backup/${tID}

EOF

EOF

よろしくお願いします!

ベストアンサー1

パスワードのないsudoが構成されているとします。

ssh user@host 'sudo -u sh -c hbase "command1;command2;command3"'

すべてのリモートコマンドをスクリプトに入れて、次のコマンドを実行することをお勧めします。

ssh user@host 'sudo -u hbase /some/script'

おすすめ記事