SSH経由でコマンドを実行する

SSH経由でコマンドを実行する

私の組織のすべてのサーバーが動作して実行されていることを確認するスクリプトを作成しています。 Zimbraメールサーバーもその一つです。次のコマンドを使用して、zimbraパッケージが提供するsendmailを介してメールを送信しようとします。

ssh Jarvice@someip echo "Hello" | /opt/zimbra/postfix-2.7.4.2z/sbin/sendmail [email protected]

しかし、私はこれを行うことはできません。私は間違いをしたと思います。

echo "Hello" | /opt/zimbra/postfix-2.7.4.2z/sbin/sendmail [email protected]

部分。しかし、私はそれが何であるかわかりません。誰かが私に正しい方法を教えてもらえますか?スクリプトでこれを実行しているので、sshパスワードを入力しなくてもこれを実行できることを確認しました。このプロセスが完全に自動化されることを願っています。

ベストアンサー1

ローカルシェルはコマンドを分割ssh .../opt/zimbra ...、両方のコマンドをパイプします。

ローカルシェルが解釈を試みずにそのままリモートコンピュータに送信できるように、sshの引数を引用する必要があります。

ssh Jarvice@someip "echo \"Hello\" | /opt/zimbra/postfix-2.7.4.2z/sbin/sendmail [email protected]"

おすすめ記事