Cum să generați automat și să trimiteți prin e-mail statisticile computerului

Jan 23, 2025
Cloud și Internet
CONȚINUTUL NECACHAT

Este important să verificați zilnic diferite date și statistici de jurnal pe server, dar devine obositor. Nu ar fi frumos să primești un singur e-mail cu toate cele mai importante momente în fiecare zi, așa că nici măcar nu trebuie să intri pe server pentru a verifica problemele? Acest ghid vă va arăta cum să configurați e-mailurile automate pe Linux și Windows.

Vom acoperi în mod special acest lucru pentru Ubuntu și Windows 8.1, Gmail fiind utilizat ca server de e-mail de la care sunt trimise mesaje. Dacă aveți o altă versiune de Linux sau Windows sau preferați să utilizați un alt serviciu de e-mail, instrucțiunile de aici ar trebui să fie ușor de adaptat.

E-mailuri automate în Linux

Vom folosi două pachete diferite pentru a realiza acest lucru, ssmtp și mailutils, așa că instalați-le pe ambele cu următoarea comandă:

$ sudo apt-get install ssmtp mailutils

Odată ce acestea sunt instalate, trebuie să facem câteva modificări în fișierul de configurare SSMTP:

$ sudo vi /etc/ssmtp/ssmtp.conf

Editați fișierul cu aceste modificări (este sigur să ștergeți tot textul din fișier și să copiați / lipiți aceste setări, dacă doriți):

# Această adresă va primi e-mailurile, așa că introduceți propriul e-mail aici dacă doriți să le primiți.

[email protected]

# Specificați aici serverul de e-mail (lăsați așa dacă folosiți Gmail).

mailhub = smtp.gmail.com: 587

# Numele de domeniu din care va veni mailul.

rewriteDomain = gmail.com

# Adresa de e-mail de la care ar trebui să apară aceste e-mailuri.

[email protected]

# Setări SSL / TLS, necesare pentru Gmail și majoritatea celorlalte servere de e-mail.

UseTLS = Da

UseSTARTTLS = Da

# Numele de utilizator și parola pentru contul dvs. Gmail.

AuthUser = nume de utilizator

AuthPass = parolă

# Permiteți posibilitatea de a specifica o adresă diferită de cea de mai sus.

FromLineOverride = da

Când ați terminat editarea fișierului, veți dori să modificați permisiunile, deoarece parola Gmail este stocată în text simplu.

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

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

Este întotdeauna mai sigur să facem root proprietarul fișierului, dar atunci ar trebui să folosim comanda sudo din scriptul nostru și ne-ar solicita o parolă, învingând astfel scopul automatizării întregului proces.

Dacă utilizați un server partajat și sunteți îngrijorat de faptul că parola dvs. este stocată în text clar și poate fi citită de root, creați un cont Gmail aruncabil sau utilizați un server de e-mail care nu necesită niciun fel de autentificare.

Pentru a ne asigura că totul este configurat corect, să încercăm un e-mail de testare:

$ echo "Testare" | mail -s „Testarea configurării e-mailului” [email protected]

„Testarea” va fi în corpul e-mailului, iar subiectul va fi „Testarea configurării e-mailului”. Verificați-vă e-mailul pentru a vă asigura că l-ați primit.

Scrierea unui script pentru e-mailuri

Acum, că putem trimite e-mailuri din linia de comandă, să scriem un script care să ne trimită câteva informații de bază despre sistemul nostru.

#! / Bin / Bash

# Verificați spațiul pe hard disk

ecou „Spațiu pe hard disk:”> /home/geek/email.txt

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

# Enumerați utilizatorii conectați

echo "Utilizatorii s-au conectat în prezent:" >> /home/geek/email.txt

cine >> /home/geek/email.txt

# Enumerați procesele care rulează în prezent

ecou „Procese de rulare:” >> /home/geek/email.txt

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

# Trimiteți e-mailul

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

# Ștergeți fișierul pe care l-am creat

rm /home/geek/email.txt

Evident, puteți obține mult mai în profunzime cu scriptul dvs. și chiar puteți face formatarea puțin mai frumoasă, dar așa arată rezultatul în e-mailul nostru:

Acum că scriptul este scris și testat, putem folosi cron pentru a-l executa automat la aceeași oră în fiecare zi. În acest exemplu, vom configura e-mailul pentru a fi trimis la 2:00 AM în fiecare dimineață, astfel încât să putem trece prin date mai târziu în acea zi.

$ crontab -e

Pentru e-mailurile de la 2:00 AM, adăugați:

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

Am scris un articol întreg despre fișiere crontab dacă aveți nevoie de mai mult ajutor cu această parte.

E-mailuri automate în Windows

Trimiterea e-mailurilor la linia de comandă este posibilă prin PowerShell, dar am constatat că implementarea acestei funcționalități este mult mai ușoară cu aplicațiile terță parte, mai ales atunci când se utilizează Gmail. Trimite email este un program gratuit disponibil pentru Windows care face integrarea cu Windows Task Scheduler și Gmail o briză. Faceți clic pe linkul de mai sus pentru a descărca cea mai recentă copie și asigurați-vă că ați luat versiunea acceptată de TLS.

După ce ați descărcat SendEmail, extrageți fișierul zip și puneți conținutul undeva pentru a le putea stoca atât timp cât intenționați să trimiteți e-mailuri automate. În acest exemplu, vom doar stoca programul în C: \ SendEmail

Să testăm SendEmail pentru a avea o idee rapidă despre cum funcționează. Deschideți un prompt de comandă tastând cmd în meniul Start sau Run (Ctrl + R).

Cu promptul de comandă deschis, utilizați comanda de modificare a directorului pentru a naviga până unde ați stocat fișierele SendEmail.

cd C:\SendEmail

Acum putem încerca să trimitem un e-mail de testare cu următoarea comandă:

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

Evident, înlocuiți „numele de utilizator” și „parola” cu acreditările contului dvs. înainte de a executa comanda.

Iată ce face de fapt comanda de mai sus:

Trimite email execută programul.

-f - de la adresa

-t - a se adresa

-s - Server SMTP

-monedă - numele contului

-xp - parola contului

-u - Subiectul emailului

-m - textul corpului de e-mail

Verificați căsuța de e-mail pentru a vă asigura că ați primit e-mailul de testare și apoi putem trece la scrierea unui script care ne va trimite informații despre server.

Scrierea unui script pentru e-mailuri

Pentru a profita la maximum de scenariul nostru, îl vom scrie pentru PowerShell. Deschideți Windows PowerShell ISE tastând powershell_ise.exe într-un prompt Run (Ctrl + R).

În partea dreaptă a ferestrei PowerShell ISE, puteți lista fiecare comandă pe care PowerShell este capabilă să o execute. Acest lucru ar trebui să vă ofere un început bun în generarea tipurilor de informații pe care trebuie să le raportați. În scriptul dvs., puteți apela și la programe terțe pentru a genera informații (de exemplu, SendEmail este o aplicație terță parte, dar PowerShell și cmd o pot folosi pentru a îndeplini sarcini pe care în mod normal nu le pot).

Pentru exemplul nostru de script, vom verifica utilizarea curentă a discului unității C, vom arăta procesele care rulează în prezent și vom arăta toate fișierele care sunt distribuite în prezent în rețea.

# Verificați spațiul pe hard disk

ecou "C: Utilizare unitate:"> C: \ SendEmail \ info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Selectați dimensiunea obiectului, spațiu liber >> C: \ SendEmail \ info.txt

# Enumerați procesele care rulează în prezent

ecou „Procese de rulare:” >> C: \ SendEmail \ info.txt

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

# Enumerați fișierele / folderele care sunt partajate în prezent

ecou "SMB parts:" >> C: \ SendEmail \ info.txt

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

# Trimiteți e-mailul

tastați C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f nume [email protected] -t nume [email protected] -s smtp.gmail.com:587 -xu nume utilizator -xp parolă -u "Informații zilnice despre server"

# Ștergeți fișierul pe care l-am făcut

rm C: \ SendEmail \ info.txt

În acest script, diverse informații sunt trimise la C: \ SendEmail \ info.txt, iar apoi textul din documentul respectiv ne este trimis prin e-mail înainte de a fi șters. Salvați scriptul cu o extensie de fișier ps1 (fișier PowerShell).

După finalizarea scriptului, executați un test rapid de la un mesaj de executare pentru a vă asigura că funcționează corect.

Folosiți doar puterea comanda cu a -fişier argumentați și specificați calea către scriptul dvs.

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

Verificați căsuța de e-mail pentru a vă asigura că ați primit e-mailul - dacă nu, căutați peste script pentru erori de sintaxă. Iată cum arată e-mailul generat din exemplul nostru de script:

Puteți juca cu formatarea (cum ar fi ecoul liniilor goale între text) pentru a-l afișa mai frumos pe dispozitivul dvs. sau, mai bine, puteți utiliza un program terță parte care va afișa informațiile necesare într-un format mai lizibil decât Windows ( procesul de scriptare va fi în continuare același).

După ce ați identificat problemele din script, puteți utiliza programul de activități Windows pentru a-l automatiza. Deschideți Programatorul de activități Windows prin meniul Start.

Cu Programatorul de activități deschis, selectați Acțiune> Creare activitate de bază.

Denumiți această sarcină de genul „Script de e-mail zilnic” și faceți clic pe următorul. În ecranul următor, selectați frecvența cu care doriți să ruleze scriptul dvs. de e-mail, probabil zilnic. Apoi, alegeți ora la care doriți să ruleze scriptul și accesați următoarea.

Acum ar trebui să vă aflați în partea „Acțiune” a vrăjitorului, selectați „Porniți un program” și introduceți același text pe care l-am introdus în promptul Rulare mai devreme pentru a testa scriptul nostru.

Apăsați următorul și apoi dați pe această fereastră:

Faceți clic pe Finalizare din ultimul meniu și ați terminat de programat e-mailurile automate.

.intrare-conținut .pentru-intrare

Extract Random Data Automatically


Cloud și Internet - Cele mai populare articole

Cum să vă partajați fotografiile digitale cu bunicii

Cloud și Internet Nov 2, 2024

CONȚINUTUL NECACHAT Scratch Dino S-ar putea ca bunicii să poată coace o plăcintă în afara acestei lumi, dar nu este un secret, generația mai veche se..


Cum se folosește dicționarul încorporat Microsoft Edge

Cloud și Internet Dec 10, 2024

CONȚINUTUL NECACHAT Windows 10 Actualizare octombrie 2018 a adus o mulțime de funcții noi, inclusiv unele pentru Microsoft Edge. Unul dintre acestea este un dic�..


Iată ce este nou în Google Chrome 69

Cloud și Internet Sep 6, 2025

Chrome 69, care marchează aniversarea de 10 ani a browserului, este o versiune imensă. Noua temă elegantă este cea mai vizibilă schimbare, dar există mai multe funcții noi. D..


Cum să vedeți (și să eliminați) dispozitivele conectate la ID-ul dvs. Apple pe iPhone

Cloud și Internet Mar 31, 2025

Datorită unei noi funcții în iOS 10.3, acum puteți vedea (și elimina) fiecare dispozitiv conectat la contul dvs. Apple chiar de pe iPhone. De asemenea, puteți verific..


Cine furnizează servicii de internet pentru furnizorul meu de servicii de internet?

Cloud și Internet Sep 4, 2025

Plătiți furnizorul dvs. de servicii de internet (ISP) pentru acces la internet, iar aceștia pornesc furtunul de date dulce, dulce și de foc pentru dvs. Dar cine oferă fluxul pe..


Ce ați spus: sfaturi și trucuri pentru lupta împotriva programelor malware

Cloud și Internet Sep 18, 2025

La începutul acestei săptămâni v-am solicitat să împărtășiți trucurile dvs. preferate de combatere a malware-ului. Acum ne-am întors pentru a evidenția câteva dintre sf..


Sincronizați orice folder în Dropbox cu SyncToy

Cloud și Internet Aug 3, 2025

Doriți să păstrați un folder sincronizat cu Dropbox fără a-l muta în folderul Dropbox? Iată cum puteți sincroniza orice folder de pe computer cu Dropbox. Dropbox este un ser..


Adăugați o listă de sarcini în pagina Filă nouă a Chrome

Cloud și Internet Mar 28, 2025

Căutați o modalitate de a avea disponibilă o listă de sarcini la cerere în timp ce navigați cu Google Chrome, dar fără a rula o aplicație suplimentară? Acum puteți adăuga o listă..


Categorii