使用 Bash 脚本编写带有适当称呼和声明的电子邮件

使用 Bash 脚本编写带有适当称呼和声明的电子邮件

2020 年 2 月 3 日星期一 15:44:03 IST,Hostname 上的“/dev/mapper/LVMG1-tmp (87%)”空间不足

以上是我在电子邮件中收到的信息,但我需要使用适当的称呼和声明,我该如何存档这条信息,请提出您的想法?

代码 :

#!/bin/sh
df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $1 }' | while read output;
do
  echo $output
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
  partition=$(echo $output | awk '{ print $2 }' )
  if [ $usep -ge 80 ]; then
    echo  "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" | mail -s "FILE SYSTEM ALERT" [email protected] 
  fi
done

答案1

这里有几个函数可以完成您想要的功能。您必须在脚本的其他地方定义几个与邮件相关的变量,但这应该很容易。

我只是将原始输出放入变量中,并将其添加到邮件正文变量中。在将其发送到 mailBody 函数之前,您可以通过多种方式对其进行操作。

如果您有任何疑问,请告诉我。

function func_mailVariables() { 
    recipientAddress="[email protected]" 
    senderAddress="[email protected]" 
    mailSubject="Something Important blahblahblah" 
} 

function func_mailSend() { 
    importantNumbers="$( df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $1 }'  )" 
    sendmail -t <<< "${mailBody}" 
} 

function func_mailBody() { 
    read -r -d '' mailBody <<-EOF
    To: ${recipientAddress}
    From: ${senderAddress}
    Subject: ${mailSubject}

    Hello, 

    Here are those numbers that are so important:  

    ${importantNumbers}


    Sincerely, 

    ${senderFullName} 
    EOF
} 

function main() { 
    func_mailVariables 
    func_mailBody 
    func_mailSend 
} 

相关内容