在发送/连接命令之前附加消息 - Bash

时间:2014-03-27 15:49:01

标签: wordpress bash email

首先为标题道歉,我相信这不是最清楚的。

我正在服务器上安装tripwire,工作正常。运行以下命令时,我收到Tripwire报告。

sudo tripwire --check | mail -s "Tripwire report for `uname -n`" myemail@gmail.com

我打算将这些报告保存为Wordpress网站上的帖子,以便轻松找到报告并记录日期。 Wordpress可以使用您专门为此目的设置的地址通过电子邮件发布。将Tripwire报告发送到我设置的电子邮件时,会在指定的默认类别中成功创建帖子。使用cron作业,这意味着自动文件更改检测和Wordpress发布几乎就绪。

我使用以下插件: http://wordpress.org/plugins/post-by-email/

这允许您在电子邮件中使用短代码来指定类别。因此,如果我在电子邮件中说[类别3],它会在第3类中发布报告,这就是我需要的。我计划通过电子邮件将多个服务器发布到网站,每个服务器在邮件正文中附加一个不同的类别,以便类别代表服务器,并通过查看Tripwire报告的日期顺序中可以看到的类别。

我遇到的问题是将短代码附加到邮件中。

我尝试了以下内容:

sudo <(tripwire --check) | <(echo successfullyappended) | mail -s "Tripwire report for `uname -n`" myemail@gmail.com

以下建议如下: How do i append some text to pipe without temporary file 但是,我只收到回复的文字,而不是报告。

我也尝试了以下内容:

sudo <(tripwire --check) & <(echo successfullyappended) | mail -s "Tripwire report for `uname -n`" myemail@gmail.com

sudo tripwire --check & echo successfullyappended | mail -s "Tripwire report for `uname -n`" myemail@gmail.com

我无法确定我发现这些片段的位置,但无论如何,它们也无法正常工作。实际上,他们只是运行命令的这一部分:

sudo tripwire --check

有人可以指导我正确的方向将此文本附加到报告的末尾。我已经完成了所有必要的事情吧这一点,这比我整个网站设置花了我更多的时间!!

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用命令组将多个命令的标准输出连接到一个流中:

{
    sudo tripwire --check
    echo successfullyappended
} | mail -s "Tripwire report for $(uname -n)" myemail@gmail.com