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]"

答え2

ZCSの役割に基づいてzimbraサーバーからコマンドラインEメールを送信する方法は2つあります。

  1. Zimbra MTAからEメールを送信
  2. Zimbra MTA経由でメールストア、LDAP、プロキシからメールを送信する
/bin/awk ' BEGIN{\
               print "Subject:zimbra backup status (MTA to NAS) !\nFrom:ms2 <[email protected]>"\
           }{\
               printf("%s\015\n", $0)\
           }' $LOG | sendmail -t "[email protected]""

詳しくは下記リンクをご覧ください http://www.knowledgelinux.com/how-to-send-mail-from-zimbra-command-line/

関連情報