如何自动生成和发送计算机统计数据

每天检查服务器上的各种日志数据和统计信息是很重要的,但是这会变得很乏味。如果每天收到一封包含所有精彩内容的电子邮件,那么你甚至不需要上服务器检查问题,这不是很好吗?本指南将向您展示如何在Linux和Windows上配置自动电子邮件。...

如何自动生成和发送计算机统计数据

每天检查服务器上的各种日志数据和统计信息是很重要的,但是这会变得很乏味。如果每天收到一封包含所有精彩内容的电子邮件,那么你甚至不需要上服务器检查问题,这不是很好吗?本指南将向您展示如何在Linux和Windows上配置自动电子邮件。

我们将专门为Ubuntu和Windows8.1介绍这一点,Gmail将用作发送邮件的电子邮件服务器。如果您有其他版本的Linux或Windows,或者更喜欢使用其他电子邮件服务,这里的说明应该很容易适应。

linux中的自动电子邮件

我们将使用两个不同的软件包s**tp和mailutils来完成此任务,因此请使用以下命令安装这两个软件包:

$ sudo apt-get install s**tp mailutils

一旦安装了这些,我们需要对SSMTP配置文件进行一些更改:

$ sudo vi /etc/s**tp/s**tp.conf

使用这些更改编辑文件(如果愿意,可以删除文件中的所有文本并复制/粘贴这些设置):

# This address will receive the emails, so enter your own email here if you want to receive them.

[email protected]

# Specify the email server here (leave as is if you’re using Gmail).

mailhub=**tp.gmail.com:587

# The domain name that the mail will come from.

rewriteDomain=gmail.com

# The email address that these emails should be from.

[email protected]

# SSL/TLS settings, required for Gmail and most other mail servers.

UseTLS=Yes

UseSTARTTLS=Yes

# The username and password to your Gmail account.

AuthUser=username

AuthPass=password

# Allow the ability to specify a from address different than the one above.

FromLineOverride=yes

当你编辑完文件后,你会想更改权限,因为你的Gmail密码是明文存储的。

$ sudo chmod 640 /etc/s**tp/s**tp.conf

$ sudo chown username.username /etc/s**tp/s**tp.conf

让root成为文件的所有者总是更安全的,但是我们必须在脚本中使用sudo命令,它会提示我们输入密码,从而使整个过程自动化。

如果您使用的是共享服务器,并且担心您的密码以明文形式存储且可由root读取,请创建一个一次性的Gmail帐户或使用一个不需要任何类型的身份验证的电子邮件服务器。

为了确保所有配置都正确,让我们试试测试电子邮件:

$ echo "Testing" | mail -s "Testing mail setup" [email protected]

“测试”将出现在邮件正文中,主题是“测试邮件设置”。检查您的电子邮件,确保您收到了它。

为电子邮件编写脚本

现在我们可以从命令行发送电子邮件了,让我们编写一个脚本,向我们发送一些有关系统的基本信息。

#!/bin/bash

# Check hard drive space

echo "Hard drive space:" > /home/geek/email.txt

df -h >> /home/geek/email.txt

# List the users that are logged in

echo "Users currently logged in:" >> /home/geek/email.txt

who >> /home/geek/email.txt

# List currently running processes

echo "Running processes:" >> /home/geek/email.txt

ps -e >> /home/geek/email.txt

# Send the email

cat /home/geek/email.txt | mail -s "Daily server information" [email protected]

# Delete the file we created

rm /home/geek/email.txt

显然,您可以更深入地了解您的脚本,甚至可以将格式设置得更好一些,但我们的电子邮件中的输出是这样的:

如何自动生成和发送计算机统计数据

现在脚本已经编写和测试,我们可以使用cron在每天的同一时间自动执行它。在本例中,我们将电子邮件配置为每天凌晨2:00发送,以便我们可以在当天晚些时候查看数据。

$ crontab -e

对于凌晨2:00的电子邮件,请添加:

0 2 * * * /home/geek/script.sh

我们已经写了一整篇关于crontab文件的文章,如果您在这部分需要更多帮助的话。

windows中的自动电子邮件

通过PowerShell可以在命令行发送电子邮件,但我们发现,使用第三方应用程序实现此功能要容易得多,尤其是在使用Gmail时。sendmail是一个免费的Windows程序,可以轻松地与Windows任务调度器和Gmail集成。单击上面的链接以下载最新的副本,并确保获取TLS支持的版本。

一旦你下载了sendmail,提取zip文件并把内容放在某个地方,你可以存储它们,只要你打算自动发送电子邮件。在本例中,我们只将程序存储在C:\sendmail中

让我们测试一下sendmail,快速了解它的工作原理。在“开始”或“运行”(Ctrl+R)菜单中键入cmd,打开命令提示符。

如何自动生成和发送计算机统计数据

在命令提示符打开的情况下,使用change directory命令导航到存储sendmail文件的位置。

cd C:\SendEmail

现在,我们可以尝试使用以下命令发送测试电子邮件:

sendEmail -f [email protected] -t [email protected] -s **tp.gmail.com:587 -xu username -xp password -u "Test email subject" -m "This is a test email."

显然,在执行命令之前,用您的帐户凭据替换“username”和“password”。

上面的命令实际上是这样做的:

sendEmail执行程序。

-f–发件人地址

-t–收件人地址

-s–SMTP服务器

-xu–帐户用户名

-xp–帐户密码

-u–电子邮件主题

-m–电子邮件正文文本

检查您的收件箱,确保您收到了测试电子邮件,然后我们可以继续编写脚本,向我们发送服务器信息。

为电子邮件编写脚本

为了充分利用我们的脚本,我们将为PowerShell编写它。键入PowerShell打开Windows PowerShell ISE_ise.exe文件进入运行提示(Ctrl+R)。

如何自动生成和发送计算机统计数据

在PowerShell ISE窗口的右侧,可以列出PowerShell能够执行的每个命令。这将为您生成需要报告的信息类型提供一个良好的开端。在您的脚本中,您还可以调用第三方程序来输出信息(即sendmail是第三方应用程序,但PowerShell和cmd可以使用它来完成通常无法完成的任务)。

如何自动生成和发送计算机统计数据

对于我们的示例脚本,我们将检查C驱动器的当前磁盘使用情况,显示当前正在运行的进程,并显示当前通过网络共享的所有文件。

# Check hard drive space

echo "C: Drive Usage:" > C:\SendEmail\info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object Size,FreeSpace >> C:\SendEmail\info.txt

# List currently running processes

echo "Running processes:" >> C:\SendEmail\info.txt

get-process >> C:\SendEmail\info.txt

# List the files/folders currently being shared

echo "SMB shares:" >> C:\SendEmail\info.txt

get-**bshare >> C:\SendEmail\info.txt

# Send the email

type C:\SendEmail\info.txt | C:\SendEmail\sendEmail -f [email protected] -t [email protected] -s **tp.gmail.com:587 -xu username -xp password -u "Daily server info"

# Delete the file we made

rm C:\SendEmail\info.txt

在这个脚本中,各种信息被输出到C:\sendmail\信息.txt,然后该文档中的文本在被删除之前通过电子邮件发送给我们。使用ps1文件扩展名(PowerShell文件)保存脚本。

脚本完成后,从运行提示符运行一个快速测试,以确保它正常工作。

只需将powershell命令与-file参数一起使用,并指定脚本的路径。

powershell -file "c:\SendEmail\daily-email.ps1"

如何自动生成和发送计算机统计数据

检查你的收件箱,确保你收到了电子邮件-如果没有,检查你的脚本语法错误。下面是从我们的示例脚本生成的电子邮件的样子:

如何自动生成和发送计算机统计数据

您可以随意使用格式(例如在文本之间回送空行),使其在设备上显示得更好,或者更好的是,您可以使用第三方程序,以比Windows更可读的格式输出所需的信息(脚本过程仍然是相同的)。

一旦解决了脚本中的问题,就可以使用Windows任务调度器来实现自动化。通过“开始”菜单打开Windows任务计划程序。

如何自动生成和发送计算机统计数据

打开任务计划程序后,选择操作>创建基本任务。

如何自动生成和发送计算机统计数据

将此任务命名为“每日电子邮件脚本”,然后单击“下一步”。在下一个屏幕上,选择您希望电子邮件脚本运行的频率,可能是每天。然后,选择希望脚本运行的时间,然后单击next。

现在,您应该在向导的“操作”部分,选择“启动程序”,并输入与我们之前在Run提示符中输入的文本相同的文本来测试脚本。

如何自动生成和发送计算机统计数据

在此窗口中单击“下一步”,然后单击“是”:

如何自动生成和发送计算机统计数据

单击最后一个菜单上的Finish,您就完成了自动电子邮件的计划。

  • 发表于 2021-04-11 12:10
  • 阅读 ( 219 )
  • 分类:互联网

你可能感兴趣的文章

如何在linux上使用gnupg进行加密

...,它将开始生成新的PGP密钥对,这可能需要几分钟从您的计算机收集足够的熵/随机数据。请随意离开终端几分钟,然后做些别的事情,直到您看到一条消息说您的密钥已成功生成。 ...

  • 发布于 2021-03-28 23:05
  • 阅读 ( 216 )

6个免费的wetransfer选项,以尽可能快的速度发送大文件

... Cend不需要注册。它将自动生成密码和链接,收件人需要启动传输。您需要在传输的整个期间保持浏览器选项卡打开,您的朋友也需要保持打开状态。是的,没有文件大小限制。 ...

  • 发布于 2021-03-30 14:01
  • 阅读 ( 401 )

什么是端口转发?你需要知道的一切

...如电子邮件,或者在多人游戏中敌人移动到了哪里?您的计算机如何知道数据应该提供给哪个应用程序?把你最新的邮件发到值班电话上并不是特别有用。 ...

  • 发布于 2021-03-31 08:18
  • 阅读 ( 826 )

如何在linux上使用wireshark过滤器

...下面的示例中,我们选择了一个ping请求包。 由于Wireshark自动生成了一个过滤器,因此显示的数据包序列之间没有其他数据包。它显示在过滤器栏中并以绿色突出显示,这表示过滤器的语法是正确的。 要清除过滤器,请单击过...

  • 发布于 2021-04-02 00:47
  • 阅读 ( 157 )

最好的谷歌表单附加组件

...件提高了生产效率,有些则增加了更广泛的功能。以下是如何开始。 安装附加组件 要获取加载项,请在Google Sheets中打开一个新的或现有的文件,单击“加载项”,然后单击“获取加载项” 您可以浏览所有加载项的列表,使用...

  • 发布于 2021-04-03 18:51
  • 阅读 ( 219 )

如何通过internet共享大型文件

...网上下载数字产品或torrent时使用过它。 您可以在自己的计算机上设置FTP服务器,但您需要将该计算机打开到internet,以便人们可以访问它来下载文件。你还需要让电脑一直开着,你可能需要检查你的ISP是否对运行服务器有任何...

  • 发布于 2021-04-06 09:26
  • 阅读 ( 238 )

如何阻止ubuntu收集关于你电脑的数据

...选择退出此数据收集,但必须在三个不同的位置进行。 如何选择退出系统信息报告 安装ubuntu18.04并启动后,您将看到“欢迎使用Ubuntu”窗口。点击它,你可以在“帮助改进Ubuntu”屏幕上选择是否向Ubuntu提交关于你电脑的数据。...

  • 发布于 2021-04-06 10:56
  • 阅读 ( 220 )

如何限制windows 10在捆绑时的数据使用

...打开它之前不应该同步。但是,请注意,如果您重新启动计算机,并且同步应用程序在启动时启动,如果没有暂停,它将立即再次开始同步。 停止其他程序下载和上载数据 许多程序在后台下载和上传数据。如果你使用电脑游戏...

  • 发布于 2021-04-07 10:58
  • 阅读 ( 235 )

windows10的基本和完整的遥测设置实际上是做什么的?

...Windows10包括一个遥测服务,它可以自动向Microsoft发送有关计算机的诊断和使用数据。自从windows10发布以来,这些设置引起了很多争议,但它们到底做了什么呢? 今天,我们来看看这到底是什么样的数据发送给微软。您可以从“...

  • 发布于 2021-04-08 01:14
  • 阅读 ( 189 )

如何优化googlechrome以获得最大的隐私

...,但它会完全发生在你的电脑上。 自动向谷歌发送使用统计数据和崩溃报告:Chrome发送有关你使用的功能和谷歌发生的崩溃的统计数据。谷歌利用这些数据来修复bug和改进Chrome。如果禁用此选项,Chrome将不会向Google报告此数据...

  • 发布于 2021-04-08 03:04
  • 阅读 ( 181 )
oxbtmelsk
oxbtmelsk

0 篇文章

相关推荐