Kako automatski generirati i e-mail računalne statistike

Sadržaj:

Kako automatski generirati i e-mail računalne statistike
Kako automatski generirati i e-mail računalne statistike

Video: Kako automatski generirati i e-mail računalne statistike

Video: Kako automatski generirati i e-mail računalne statistike
Video: Laura Knight-Jadczyk Interviewed by Kerry Cassidy - YouTube 2024, Svibanj
Anonim
Važno je svakodnevno provjeravati različite zapisničke podatke i statističke podatke na vašem poslužitelju, ali svejedno postaje dosadan. Ne bi li bilo drago primiti pojedinačnu e-poštu sa svim naglašavanjima svakog dana, tako da čak i ne morate dobiti poslužitelj da biste provjerili ima li problema? Ovaj vodič će vam pokazati kako konfigurirati automatizirane poruke e-pošte na Linuxu i Windowsu.
Važno je svakodnevno provjeravati različite zapisničke podatke i statističke podatke na vašem poslužitelju, ali svejedno postaje dosadan. Ne bi li bilo drago primiti pojedinačnu e-poštu sa svim naglašavanjima svakog dana, tako da čak i ne morate dobiti poslužitelj da biste provjerili ima li problema? Ovaj vodič će vam pokazati kako konfigurirati automatizirane poruke e-pošte na Linuxu i Windowsu.

Posebno ćemo to obuhvatiti za Ubuntu i Windows 8.1, a Gmail se koristi kao poslužitelj e-pošte koji šalje poštu. Ako imate neku drugu verziju Linuxa ili Windows, ili radije upotrebljavate neku drugu uslugu e-pošte, upute ovdje trebaju biti lako prilagodljive.

Automatizirane e-poruke u Linuxu

Koristit ćemo dva različita paketa kako bismo to postigli, ssmtp i mailutils, tako da ih instalirate sa sljedećom naredbom:

$ sudo apt-get install ssmtp mailutils

Nakon što ih instalirate, moramo napraviti neke promjene u SSMTP konfiguracijskoj datoteci:

$ sudo vi /etc/ssmtp/ssmtp.conf

Uredite datoteku s ovim promjenama (možete li izbrisati sav tekst u datoteci i kopirati / zalijepiti te postavke, ako želite):

# 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=smtp.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

Kada dovršite uređivanje datoteke, trebat ćete promijeniti dopuštenja jer je vaša zaporka za Gmail spremljena u pravom tekstu.

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

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

Uvijek je sigurnije da se root vlasnik datoteke, ali onda bi trebali koristiti sudo naredbu u našoj skripti i to će nas potaknuti na lozinku, čime se poremeti svrha automatizacije cijelog procesa.

Ako upotrebljavate zajednički poslužitelj i zabrinuta je da se vaša zaporka pohranjuje u jasan tekst i može ga čitati korijen, izradite Gmailov račun ili koristite poslužitelj e-pošte koji na prvom mjestu ne zahtijeva nikakvu vrstu provjere autentičnosti.

Da bismo bili sigurni da je sve ispravno konfigurirano, pokušajte probnu e-poštu:

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

"Testiranje" bit će u tijelu e-pošte, a subjekt će biti "Testiranje postavki pošte". Provjerite svoju e-poštu kako biste bili sigurni da ste ga primili.

Pisanje skripte za e-poštu

Sada kada možemo slati poruke e-pošte iz naredbenog retka, napišimo skriptu koja će nam poslati neke osnovne informacije o našem sustavu.

#!/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

Očito možete dobiti puno dublje sa svojim skriptom, pa čak i oblikovati nešto ljepše, ali to je ono što izlaz izgleda u našoj e-pošti:

Sada kada je skripta napisana i testirana, možemo koristiti cron da ga automatski izvršimo u isto vrijeme svaki dan. U ovom primjeru konfigurirat ćemo e-poštu koja će se poslati svako jutro u 2:00 ujutro, tako da možemo kasnije proslijediti podatke.
Sada kada je skripta napisana i testirana, možemo koristiti cron da ga automatski izvršimo u isto vrijeme svaki dan. U ovom primjeru konfigurirat ćemo e-poštu koja će se poslati svako jutro u 2:00 ujutro, tako da možemo kasnije proslijediti podatke.

$ crontab -e

Za e-poruke s 2:00 AM dodajte:

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

Napisali smo cijeli članak o crontab datotekama ako vam je potrebna dodatna pomoć u ovom dijelu.

Automatizirana e-pošta u sustavu Windows

Slanje e-pošte na naredbenom retku moguće je putem usluge PowerShell, no utvrdili smo da je implementacija ove funkcije puno jednostavnija s aplikacijama treće strane, posebno kada koristite Gmail. SendEmail je besplatan program dostupan za sustav Windows koji čini integraciju sa sustavom Windows Task Scheduler i Gmail povjetarac. Kliknite gornju vezu da biste preuzeli najnoviju kopiju i pobrinite se za pronalaženje TLS podržane inačice.

Nakon što preuzmete SendEmail, izvadite zip datoteku i stavite sadržaj negdje gdje je možete spremiti sve dok planirate poslati automatizirane e-poruke. U ovom primjeru spremit ćemo program u C: SendEmail

Isprobajte SendEmail da biste dobili brz osjećaj za to kako funkcionira. Otvorite naredbeni redak upisivanjem cmd u izbornik Start ili Run (Ctrl + R).

Kada otvorite naredbeni redak, koristite naredbu za promjenu direktorija za kretanje do mjesta pohranjivanja SendEmail datoteka.
Kada otvorite naredbeni redak, koristite naredbu za promjenu direktorija za kretanje do mjesta pohranjivanja SendEmail datoteka.

cd C:SendEmail

Sada možemo pokušati poslati testnu e-poštu sa sljedećom naredbom:

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.'

Očito zamijenite "korisničko ime" i "lozinka" s vjerodajnicama računa prije izvršenja naredbe.

Evo što naredba gore zapravo radi:

sendEmail

izvršava program.

-f

- od adrese

-t

- na adresu

-s

- SMTP poslužitelj

-xu

- korisničko ime računa

-xp

- lozinka računa

-u

- predmet e-pošte

-m

- tekst tijela e-pošte

Provjerite pristiglu poštu kako biste bili sigurni da ste primili testnu e-poštu, a možemo nastaviti pisati skriptu koja će nam poslati podatke o poslužitelju.

Pisanje skripte za e-poštu

Da bismo iskoristili sve iz naše skripte, napisat ćemo ga za PowerShell. Otvorite Windows PowerShell ISE upisivanjem powershell_ise.exe u pokretanje brzog (Ctrl + R).

S desne strane prozora PowerShell ISE možete navesti sve naredbe koje PowerShell može izvršiti. To bi vam trebalo dati dobar početak pri generiranju vrsta informacija koje trebate prijaviti. U svojoj skripti također možete pozvati programe treće strane za izlazne informacije (npr. SendEmail je aplikacija treće strane, ali PowerShell i cmd mogu ga koristiti za obavljanje zadataka koje inače ne mogu).
S desne strane prozora PowerShell ISE možete navesti sve naredbe koje PowerShell može izvršiti. To bi vam trebalo dati dobar početak pri generiranju vrsta informacija koje trebate prijaviti. U svojoj skripti također možete pozvati programe treće strane za izlazne informacije (npr. SendEmail je aplikacija treće strane, ali PowerShell i cmd mogu ga koristiti za obavljanje zadataka koje inače ne mogu).
Za našu primjernu skriptu provjerit ćemo trenutnu upotrebu diska C pogona, prikazati trenutno pokrenute procese i prikazati sve datoteke koje se trenutačno dijele preko mreže.
Za našu primjernu skriptu provjerit ćemo trenutnu upotrebu diska C pogona, prikazati trenutno pokrenute procese i prikazati sve datoteke koje se trenutačno dijele preko mreže.

# Check hard drive space

echo 'C: Drive Usage:' > C:SendEmailinfo.txt

Get-WmiObject win32_LogicalDisk -Filter 'DeviceID='C:'' | Select-Object Size,FreeSpace >> C:SendEmailinfo.txt

# List currently running processes

echo 'Running processes:' >> C:SendEmailinfo.txt

get-process >> C:SendEmailinfo.txt

# List the files/folders currently being shared

echo 'SMB shares:' >> C:SendEmailinfo.txt

get-smbshare >> C:SendEmailinfo.txt

# Send the email

type C:SendEmailinfo.txt | C:SendEmailsendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u 'Daily server info'

# Delete the file we made

rm C:SendEmailinfo.txt

U ovoj skripti izdaju se različite informacije C: SendEmail info.txt, a tekst u tom dokumentu nam se e-poštom prima prije nego što se izbrisati. Spremite skriptu s ekstenzijom PS1 datoteke (PowerShell datoteka).

Kada se skripta završi, pokrenite brzu probnu verziju iz upita za pokretanje da biste bili sigurni da funkcionira ispravno.

Upotrijebite samo

powershell

naredba s a

-file

argument i odredite put do skripte.

powershell -file 'c:SendEmaildaily-email.ps1'

Provjerite pristiglu poštu kako biste bili sigurni da ste primili poruku e-pošte - ako ne, pregledajte skriptu za pogreške sintakse. Evo što izgleda generirana e-adresa iz naše primjere skripte:
Provjerite pristiglu poštu kako biste bili sigurni da ste primili poruku e-pošte - ako ne, pregledajte skriptu za pogreške sintakse. Evo što izgleda generirana e-adresa iz naše primjere skripte:
Možete se igrati oko oblikovanja (poput odzvanja praznih redaka između teksta) kako bi se prikazao na vašem uređaju, ili još bolje možete upotrijebiti program treće strane koji će emitirati potrebne informacije u čitljivijem formatu nego što to čini Windows ( proces skriptiranja i dalje će biti isti).
Možete se igrati oko oblikovanja (poput odzvanja praznih redaka između teksta) kako bi se prikazao na vašem uređaju, ili još bolje možete upotrijebiti program treće strane koji će emitirati potrebne informacije u čitljivijem formatu nego što to čini Windows ( proces skriptiranja i dalje će biti isti).

Nakon što izradite kinks u svojoj skripti, možete ga koristiti za automatizaciju Windows Task Scheduler. Otvorite Task Scheduler sustava Windows putem izbornika Start.

Dok je Task Scheduler otvoren, odaberite Action> Create Basic Task.
Dok je Task Scheduler otvoren, odaberite Action> Create Basic Task.
Imenujte ovaj zadatak poput "Dnevne skripte e-pošte" i kliknite sljedeći. Na sljedećem zaslonu odaberite učestalost kojom želite pokrenuti skriptu e-pošte, vjerojatno svakodnevno. Zatim odaberite vrijeme kada želite da se skripta pokrene i pritisne sljedeći.
Imenujte ovaj zadatak poput "Dnevne skripte e-pošte" i kliknite sljedeći. Na sljedećem zaslonu odaberite učestalost kojom želite pokrenuti skriptu e-pošte, vjerojatno svakodnevno. Zatim odaberite vrijeme kada želite da se skripta pokrene i pritisne sljedeći.

Sada biste trebali biti na dijelu "Akcija" čarobnjaka, odaberite "Pokreni program" i unesite isti tekst koji smo ranije unijeli u program Run da bismo testirali našu skriptu.

Preporučeni: