Cách tự động tạo và gửi thống kê máy tính qua email

Jan 23, 2025
Đám mây và Internet
NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH

Điều quan trọng là phải kiểm tra các dữ liệu nhật ký và số liệu thống kê khác nhau trên máy chủ của bạn mỗi ngày, nhưng việc này ngày càng trở nên tẻ nhạt. Thật tuyệt khi nhận được một email với tất cả các điểm nổi bật mỗi ngày, vì vậy bạn thậm chí không cần phải truy cập vào máy chủ để kiểm tra các vấn đề? Hướng dẫn này sẽ chỉ cho bạn cách định cấu hình email tự động trên Linux và Windows.

Chúng tôi sẽ đề cập cụ thể vấn đề này cho Ubuntu và Windows 8.1, với Gmail được sử dụng làm máy chủ email mà thư được gửi từ đó. Nếu bạn có phiên bản Linux hoặc Windows khác hoặc muốn sử dụng một số dịch vụ email khác, hướng dẫn ở đây sẽ dễ dàng điều chỉnh.

Email tự động trong Linux

Chúng tôi sẽ sử dụng hai gói khác nhau để thực hiện điều này, ssmtp và mailutils, vì vậy hãy cài đặt cả hai gói này bằng lệnh sau:

$ sudo apt-get install ssmtp mailutils

Sau khi chúng được cài đặt, chúng tôi cần thực hiện một số thay đổi đối với tệp cấu hình SSMTP:

$ sudo vi /etc/ssmtp/ssmtp.conf

Chỉnh sửa tệp với những thay đổi này (có thể an toàn chỉ cần xóa tất cả văn bản trong tệp và sao chép / dán các cài đặt này, nếu bạn muốn):

# Địa chỉ này sẽ nhận email, vì vậy hãy nhập email của chính bạn vào đây nếu bạn muốn nhận chúng.

[email protected]

# Chỉ định máy chủ email tại đây (giữ nguyên như thể bạn đang sử dụng Gmail).

mailhub = smtp.gmail.com: 587

# Tên miền mà thư sẽ đến.

rewriteDomain = gmail.com

# Địa chỉ email chứa những email này.

[email protected]

# Cài đặt SSL / TLS, bắt buộc đối với Gmail và hầu hết các máy chủ thư khác.

UseTLS = Có

UseSTARTTLS = Có

# Tên người dùng và mật khẩu cho tài khoản Gmail của bạn.

AuthUser = tên người dùng

AuthPass = mật khẩu

# Cho phép khả năng chỉ định địa chỉ từ khác với địa chỉ ở trên.

FromLineOverride = có

Khi chỉnh sửa xong tệp, bạn sẽ muốn thay đổi các quyền vì mật khẩu Gmail của bạn được lưu trữ ở dạng bản rõ.

$ sudo chmod 640 /etc/ssmtp/ssmtp.conf

$ sudo chown username.username /etc/ssmtp/ssmtp.conf

Việc đặt root làm chủ sở hữu của tệp luôn an toàn hơn, nhưng sau đó chúng tôi sẽ phải sử dụng lệnh sudo trong tập lệnh của mình và lệnh này sẽ nhắc chúng tôi nhập mật khẩu, do đó đánh bại mục đích tự động hóa toàn bộ quy trình này.

Nếu bạn đang sử dụng máy chủ dùng chung và lo lắng về việc mật khẩu của mình được lưu trữ ở dạng văn bản rõ ràng và có thể đọc được bởi root, hãy tạo tài khoản Gmail riêng hoặc sử dụng máy chủ email không yêu cầu bất kỳ loại xác thực nào ngay từ đầu.

Để đảm bảo mọi thứ đều được định cấu hình chính xác, hãy thử email kiểm tra:

$ echo "Thử nghiệm" | mail -s "Đang kiểm tra thiết lập thư" [email protected]

"Thử nghiệm" sẽ nằm trong phần nội dung của email và chủ đề sẽ là "Thử nghiệm thiết lập thư". Kiểm tra email của bạn để đảm bảo rằng bạn đã nhận được nó.

Viết kịch bản cho email

Bây giờ chúng ta có thể gửi email từ dòng lệnh, hãy viết một tập lệnh sẽ gửi cho chúng ta một số thông tin cơ bản về hệ thống của chúng ta.

#! / Bin / Bash

# Kiểm tra dung lượng ổ cứng

echo "Dung lượng ổ cứng:"> /home/geek/email.txt

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

# Liệt kê những người dùng đã đăng nhập

echo "Người dùng hiện đã đăng nhập:" >> /home/geek/email.txt

ai >> /home/geek/email.txt

# Liệt kê các quy trình hiện đang chạy

echo "Đang chạy quy trình:" >> /home/geek/email.txt

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

# Gửi email

cat /home/geek/email.txt | mail -s "Thông tin máy chủ hàng ngày" [email protected]

# Xóa tệp chúng tôi đã tạo

rm /home/geek/email.txt

Rõ ràng là bạn có thể hiểu sâu hơn rất nhiều với tập lệnh của mình và thậm chí làm cho định dạng đẹp hơn một chút, nhưng đây là kết quả đầu ra trong email của chúng tôi:

Bây giờ tập lệnh đã được viết và thử nghiệm, chúng ta có thể sử dụng cron để tự động thực thi nó vào cùng một thời điểm mỗi ngày. Trong ví dụ này, chúng tôi sẽ định cấu hình email sẽ được gửi vào lúc 2:00 sáng mỗi sáng, vì vậy chúng tôi có thể xem qua dữ liệu vào cuối ngày hôm đó.

$ crontab -e

Đối với email 2:00 sáng, hãy thêm:

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

Chúng tôi đã viết toàn bộ một bài báo về tệp crontab nếu bạn cần thêm trợ giúp với phần này.

Email tự động trong Windows

Có thể gửi email bằng dòng lệnh thông qua PowerShell, nhưng chúng tôi nhận thấy rằng việc triển khai chức năng này dễ dàng hơn rất nhiều với các ứng dụng của bên thứ ba, đặc biệt là khi sử dụng Gmail. Gửi email là một chương trình miễn phí có sẵn cho Windows giúp việc tích hợp với Trình lập lịch tác vụ của Windows và Gmail trở nên dễ dàng. Nhấp vào liên kết ở trên để tải xuống bản sao mới nhất và đảm bảo rằng bạn lấy phiên bản được hỗ trợ TLS.

Sau khi bạn đã tải xuống SendEmail, hãy giải nén tệp zip và đặt nội dung ở đâu đó mà bạn có thể lưu trữ chúng miễn là bạn định gửi email tự động. Trong ví dụ này, chúng tôi sẽ lưu trữ chương trình trong C: \ SendEmail

Hãy thử SendEmail để biết nhanh cách hoạt động của nó. Mở dấu nhắc lệnh bằng cách nhập cmd vào menu Bắt đầu hoặc Chạy (Ctrl + R).

Khi dấu nhắc lệnh mở, sử dụng lệnh thay đổi thư mục để điều hướng đến nơi bạn đã lưu trữ các tệp SendEmail.

cd C:\SendEmail

Bây giờ chúng ta có thể thử gửi một email thử nghiệm bằng lệnh sau:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u "Chủ đề email thử nghiệm" -m "Đây là email thử nghiệm."

Rõ ràng, hãy thay thế “tên người dùng” và “mật khẩu” bằng thông tin đăng nhập tài khoản của bạn trước khi thực hiện lệnh.

Đây là những gì lệnh trên thực sự làm:

gửi email thực hiện chương trình.

-f - từ địa chỉ

-t - Đến địa chỉ

-S - Máy chủ SMTP

-xu - tài khoản người dùng

-xp - mật khẩu tài khoản

-u - chủ đề email

-m - nội dung email

Kiểm tra hộp thư đến của bạn để đảm bảo rằng bạn đã nhận được email thử nghiệm và sau đó chúng tôi có thể chuyển sang viết tập lệnh sẽ gửi thông tin máy chủ cho chúng tôi.

Viết kịch bản cho email

Để khai thác tối đa tập lệnh của chúng tôi, chúng tôi sẽ viết tập lệnh đó cho PowerShell. Mở Windows PowerShell ISE bằng cách nhập powershell_ise.exe vào dấu nhắc Chạy (Ctrl + R).

Ở phía bên phải của cửa sổ PowerShell ISE, bạn có thể liệt kê mọi lệnh mà PowerShell có khả năng thực thi. Điều này sẽ giúp bạn có một khởi đầu tốt để tạo ra các loại thông tin mà bạn cần báo cáo. Trong tập lệnh của mình, bạn cũng có thể gọi các chương trình của bên thứ ba để xuất thông tin (tức là SendEmail là ứng dụng của bên thứ ba nhưng PowerShell và cmd có thể sử dụng nó để hoàn thành các tác vụ mà họ thường không làm được).

Đối với tập lệnh ví dụ của chúng tôi, chúng tôi sẽ kiểm tra việc sử dụng đĩa hiện tại của ổ C, hiển thị các quy trình hiện đang chạy và hiển thị tất cả các tệp hiện đang được chia sẻ qua mạng.

# Kiểm tra dung lượng ổ cứng

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

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Kích thước đối tượng được chọn, FreeSpace >> C: \ SendEmail \ info.txt

# Liệt kê các quy trình hiện đang chạy

echo "Đang chạy quy trình:" >> C: \ SendEmail \ info.txt

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

# Liệt kê các tệp / thư mục hiện đang được chia sẻ

echo "SMB chia sẻ:" >> C: \ SendEmail \ info.txt

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

# Gửi email

gõ C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u "Thông tin máy chủ hàng ngày"

# Xóa tệp chúng tôi đã tạo

rm C: \ SendEmail \ info.txt

Trong tập lệnh này, nhiều thông tin khác nhau được xuất ra C: \ SendEmail \ info.txt, sau đó văn bản trong tài liệu đó được gửi qua email cho chúng tôi trước khi bị xóa. Lưu tập lệnh của bạn với phần mở rộng tệp ps1 (tệp PowerShell).

Khi tập lệnh của bạn đã hoàn thành, hãy chạy kiểm tra nhanh từ lời nhắc Chạy để đảm bảo tập lệnh hoạt động bình thường.

Chỉ cần sử dụng quyền hạn ra lệnh với một -file đối số và chỉ định đường dẫn đến tập lệnh của bạn.

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

Kiểm tra hộp thư đến của bạn để đảm bảo rằng bạn đã nhận được email - nếu không, hãy xem lại tập lệnh của bạn để biết lỗi cú pháp. Đây là email được tạo từ tập lệnh mẫu của chúng tôi trông như thế nào:

Bạn có thể thử nghiệm với định dạng (chẳng hạn như lặp lại các dòng trống giữa văn bản) để làm cho nó hiển thị đẹp hơn trên thiết bị của bạn hoặc tốt hơn là bạn có thể sử dụng chương trình của bên thứ ba sẽ xuất ra thông tin cần thiết ở định dạng dễ đọc hơn Windows ( quá trình viết kịch bản sẽ vẫn như cũ).

Khi bạn đã tìm ra các đường gấp khúc trong tập lệnh của mình, bạn có thể sử dụng Trình lập lịch tác vụ của Windows để tự động hóa nó. Mở Trình lập lịch tác vụ của Windows qua menu Bắt đầu.

Khi Công cụ lập lịch tác vụ đang mở, hãy chọn Hành động> Tạo tác vụ cơ bản.

Đặt tên cho nhiệm vụ này như “Tập lệnh email hàng ngày” và nhấp vào tiếp theo. Trên màn hình tiếp theo, hãy chọn tần suất bạn muốn tập lệnh email của mình chạy, có thể là hàng ngày. Sau đó, chọn thời gian bạn muốn tập lệnh chạy và nhấn tiếp theo.

Bây giờ bạn sẽ ở phần “Hành động” của trình hướng dẫn, chọn “Bắt đầu chương trình” và nhập văn bản giống như chúng ta đã nhập vào dấu nhắc Chạy trước đó để kiểm tra tập lệnh của mình.

Nhấn tiếp theo và sau đó nhấn Có trên cửa sổ này:

Nhấp vào Hoàn tất trên menu cuối cùng và bạn đã hoàn tất việc lập lịch gửi email tự động của mình.

Extract Random Data Automatically


Đám mây và Internet - Các bài báo phổ biến nhất

Cách xem Super Bowl 2019 mà không cần cáp

Đám mây và Internet Feb 3, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Sergey Nivens / Shutterstock.com. New England Patriots sẽ đối đầu với LA Rams và đây chắ..


8 tính năng tốt nhất trong Gmail mới

Đám mây và Internet Jul 1, 2025

Google đang thay đổi giao diện và hoạt động của Gmail. Họ ra mắt Gmail mới vào tháng 4 , nhưng cho đến nay nó là tùy chọn. Điều đó..


Nhắn tin bằng giọng nói là tính năng trò chuyện tốt nhất mà bạn có thể không sử dụng

Đám mây và Internet Oct 24, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Nhắn tin thật tệ. Nếu bạn nghĩ về nó, đó là một cách giao tiếp khá kém hiệu quả. Nó chậm, thiếu sắc thá..


Cách xem ai đã xem và chụp màn hình câu chuyện Snapchat của bạn

Đám mây và Internet Jan 26, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Snapchat là tất cả về sự minh bạch. Bạn luôn có thể biết chính xác ai đã xem Câu chuyện của mình và quan tr�..


Cách ngăn Netflix sử dụng tất cả dữ liệu trên điện thoại của bạn

Đám mây và Internet May 6, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Netflix gần đây đã cập nhật ứng dụng dành cho thiết bị di động của mình với một tính năng được mong đ�..


Cách đặt lại Microsoft Edge trong Windows 10

Đám mây và Internet Jul 27, 2025

Microsoft Edge vẫn còn trong những ngày đầu và đôi khi, các vấn đề có thể phát sinh. Nếu bạn thấy rằng Edge đang gặp phải hiệu suất chậm, b�..


Thêm các Tính năng của WordPress.com vào blog WordPress tự lưu trữ của bạn

Đám mây và Internet Jul 15, 2025

Bạn có đang thiếu một số tính năng thú vị của WordPress.com trong blog WordPress tự lưu trữ của mình không? Dưới đây là cách bạn có thể thêm lại nhi�..


Truy cập các tệp Dropbox của bạn trong Google Chrome

Đám mây và Internet Feb 3, 2025

Bạn đang tìm kiếm một cách nhanh chóng để truy cập các tệp trong tài khoản Dropbox của mình khi sử dụng Chrome? Sau đó, hãy tham gia với chúng tôi khi chún..


Thể loại