하나의 메시지로 여러 이메일 결과를 내 이메일로 보내는 방법

하나의 메시지로 여러 이메일 결과를 내 이메일로 보내는 방법

이메일 결과를 메시지로 내 이메일로 보내고 싶습니다. 무엇을 해야 할지 말해 주실 수 있나요? 아래는 내 스크립트의 복사본입니다. 3개의 이메일 항목이 모두 하나의 메시지에 포함되어야 합니다. 우리가 이것을 할 수 있는 방법이 있나요?

if ((($4) < 3000 ))
then
    echo "Memory Utilization is less than 5% free of Total Memory" | mail [email protected] # first email
    free -m | mail [email protected] # second email
    ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=vsz|cut -c1-130|tac|head | mail -s "Please bounce high consuming jobs on server "  [email protected] # third email
else 
    exit 0

fi

답변1

서브셸을 사용하여 세 가지 명령을 모두 실행하고 출력을 한 번에 파이프할 수 있습니다.

if ((($4) < 3000 ))
then
    (
    echo "Memory Utilization is less than 5% free of Total Memory"
    free -m
    ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=vsz|cut -c1-130|tac|head
    ) | mail -s "Please bounce high consuming jobs on server" [email protected]
else
    exit 0
fi

관련 정보