将脚本结果输出到文本文件然后通过电子邮件将结果发送到个人电子邮件的命

时间:2017-09-21 20:56:47

标签: linux bash shell email server

我正在编写一个输出服务器状态结果的bash脚本,并希望有一种方法将结果放入文本文件,然后通过电子邮件将其发送到根据用户输入输入的电子邮件。我该怎么做呢?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

将结果输出到文件,使用>>或者>在命令的最后跟一个文件名。

>>将附加到该文件。这意味着您文件的先前内容将保持不变。

>将删除所有内容并使用新的输出创建一个文件。

例如: echo $ serverOutput> output.txt

现在发邮件: 阅读电子邮件//将阅读用户的电子邮件地址。

邮寄:

uuencode output.txt output.txt | mailx -s“server output”$ email

您的文件将作为附件发送。

这是你需要的吗?

答案 1 :(得分:0)

创建一个cron作业将是另一项任务。但是关于将serverStatus放在文本文件中然后将其邮寄到用户的电子邮件的初始问题。以下是一个例子:

说我们使用" ps -ef | grep processname"命令。替换"顶部"用你的命令。

ssh -q username @ serverName" ps -ef | grep -i process">> output.txt

echo"输入电子邮件:"

阅读电子邮件

uuencode output.txt output.txt | mailx -s" serverStatusReport" $电子邮件

如果您有任何需要提供此功能的脚本/模板,请分享代码或详细说明。 关于cron作业,您需要在crontab文件中包含命令/脚本以及您希望它安排的时间。

例如:

echo" * * * * * /path/to/your/script.sh">> crontab

希望这能为你提供一条前进的道路