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 서버에서 명령줄 이메일을 보내는 방법에는 두 가지가 있습니다.

  1. Zimbra MTA에서 이메일 보내기
  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/

관련 정보