我正在编写一个输出服务器状态结果的bash脚本,并希望有一种方法将结果放入文本文件,然后通过电子邮件将其发送到根据用户输入输入的电子邮件。我该怎么做呢?
感谢您的帮助!
答案 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
希望这能为你提供一条前进的道路