将“top”和“df -h”命令输出到日志文件,然后发送到我的电子邮件

Posted

技术标签:

【中文标题】将“top”和“df -h”命令输出到日志文件,然后发送到我的电子邮件【英文标题】:Output of "top" and "df -h" command to a log file then send to my email 【发布时间】:2013-12-21 18:08:17 【问题描述】:

我会将“top”和“df-h”命令发送到我的电子邮件中吗?我在下面尝试了此代码,但我没有在我的电子邮件中收到它。 这是我的脚本。

echo
echo "Please Wait. . . "
echo
echo "TOP $(date '+%Y_%m_%d--%H:%M:%S')" > top1.dat
echo  "==================================================***================================================" > top2.dat
cat top1.dat top2.dat > maintop.dat
top -b -n1 > MSITOP.log
cat maintop.dat MSITOP.log > TOPTOP.log
echo "SIZE  $(date '+%Y_%m_%d--%H:%M:%S')" > size1.dat
echo "==================================================***================================================" > size2.dat
cat size1.dat size2.dat > mainsize.dat
df -h > MSIDF.log
cat mainsize.dat MSIDF.log > SIZESIZE.log
cat TOPTOP.log SIZESIZE.log > LOG_$(date '+%Y_%m_%d--%H:%M:%S').log
cat TOPTOP.log  SIZESIZE.log > output.tmp

rm -rf output.tmp MSITOP.log MSIDF.log top1.dat top2.dat maintop.dat TOPTOP.log size1.dat size2.dat mainsize.dat MSIDF.log SIZESIZE.log
echo "Successful!"
echo

【问题讨论】:

可以尝试将this 与this 结合起来。 对不起,我无法理解这是我的脚本 tar -zcvf /home/jpvillanueva/pjtar_$(date '+%Y_%m_%d' --date='1 days ago').tar。 gz ls -ltr hello-$(date '+%d%m%Y' --date='1 days ago')* | awk 'print $9' &> /home/jpvillanueva/pjtarbckup-$(date '+%Y_%m_%d' --date='1 days ago').log 【参考方案1】:

尝试插入此先生以将其发送到您的电子邮件中。

SUBJECT="SEND"
EMAIL=youremail@blabla.com
mail -s "$SUBJECT" "$EMAIL" <output.tmp

然后是你的代码。

echo  
echo "Please Wait. . . "
echo
echo "TOP $(date '+%Y_%m_%d--%H:%M:%S')" > top1.dat
echo "==================================================***================================================" > top2.dat
cat top1.dat top2.dat > maintop.dat
top -b -n1 > MSITOP.log
cat maintop.dat MSITOP.log > TOPTOP.log
echo "SIZE  $(date '+%Y_%m_%d--%H:%M:%S')" > size1.dat
echo "==================================================***================================================" > size2.dat
cat size1.dat size2.dat > mainsize.dat
df -h > MSIDF.log
cat mainsize.dat MSIDF.log > SIZESIZE.log
cat TOPTOP.log SIZESIZE.log > LOG_$(date '+%Y_%m_%d--%H:%M:%S').log
cat TOPTOP.log  SIZESIZE.log > output.tmp

SUBJECT="SEND"
EMAIL=youremail@blabla.com
mail -s "$SUBJECT" "$EMAIL" <output.tmp

rm -rf output.tmp MSITOP.log MSIDF.log top1.dat top2.dat maintop.dat TOPTOP.log size1.dat size2.dat mainsize.dat MSIDF.log SIZESIZE.log
echo "Successful!"
echo

【讨论】:

嘿兄弟!多谢! :))【参考方案2】:

真的是一个很好的问题。而且我认为这里真正的问题是真的有可能只对 12 月 4 日创建的文件进行 tar。我是正确的?祝你好运!

【讨论】:

只需在 www.google.com 中搜索它,并找到更多您可能无法在此博客中得到答案的博客。【参考方案3】:

现在我知道了。我使用命令“cat”将它们存储到一个文件名(TOPDF.log)中并删除那些“TOP.log”和“DF.log”。

我用过这个。

top -b -n1 > TOP.log
df -h > DF.log
cat TOP.log DF.log > TOPDF.log

【讨论】:

以上是关于将“top”和“df -h”命令输出到日志文件,然后发送到我的电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

系统问题排查

如何将 Unix 'Top' 命令输出捕获到 CSV 文件?

正则表达式在 C# 中拆分 OSX df -h 输出

将 top 的结果输出到文件中

将 top 的结果输出到文件中

linux性能分析常用的命令