Početna » kako da » Kako automatski generirati i e-mail računalne statistike

    Kako automatski generirati i e-mail računalne statistike

    Važno je svakodnevno provjeravati različite podatke dnevnika i statistiku na poslužitelju, ali to postaje zamorno. Ne bi li bilo lijepo svaki dan primati jednu e-poruku sa svim istaknutim točkama, tako da ne trebate čak ni doći na poslužitelj kako biste provjerili ima li problema? Ovaj će vam vodič pokazati kako konfigurirati automatizirane poruke e-pošte na Linuxu i Windowsu.

    To ćemo posebno obraditi za Ubuntu i Windows 8.1, a Gmail će se koristiti kao poslužitelj e-pošte s kojeg se šalje poruka e-pošte. Ako imate drugu verziju Linuxa ili Windowsa ili želite koristiti neku drugu uslugu e-pošte, upute bi trebale biti lako prilagodljive.

    Automatizirane poruke e-pošte u Linuxu

    Koristit ćemo dva različita paketa za postizanje ovog cilja, ssmtp i mailutils, stoga instalirajte obje naredbe sljedećom naredbom:

    $ sudo apt-get instaliraj ssmtp mailutils

    Kada se one instaliraju, moramo napraviti neke promjene u konfiguracijskoj datoteci SSMTP:

    $ sudo vi /etc/ssmtp/ssmtp.conf

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

    # Ova adresa će primiti e-poštu, stoga ovdje unesite vlastitu e-poštu ako ih želite primati.

    [email protected]

    # Ovdje navedite poslužitelj e-pošte (ostavite kao što je ako koristite Gmail).

    mailhub = smtp.gmail.com: 587

    # Naziv domene iz koje će poruka biti poslana.

    rewriteDomain = gmail.com

    # Adresa e-pošte s koje bi te poruke trebale biti.

    [email protected]

    # SSL / TLS postavke potrebne za Gmail i većinu drugih poslužitelja e-pošte.

    UseTLS = Da

    UseSTARTTLS = Da

    # Korisničko ime i zaporka za vaš Gmail račun.

    AUTHUSER = ime

    AuthPass = lozinku

    # Dopusti mogućnost određivanja adrese različitoj od gore navedene.

    FromLineOverride = yes

    Kada završite s uređivanjem datoteke, htjet ćete promijeniti dozvole jer je vaša zaporka za Gmail pohranjena u čistom tekstu.

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

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

    Uvijek je sigurnije napraviti root datoteku vlasniku, ali onda bismo morali koristiti naredbu sudo u našoj skripti i to bi nas potaknulo na lozinku, čime bi se pobijedila svrha automatizacije cijelog procesa.

    Ako upotrebljavate zajednički poslužitelj i brinete da će se lozinka pohraniti u čistom tekstu i čitati pomoću korijena, izradite Gmail račun za pokretanje ili upotrijebite poslužitelj e-pošte koji ne zahtijeva nikakvu provjeru autentičnosti.

    Da bismo provjerili je li sve ispravno konfigurirano, pokušajmo s probnom e-poštom:

    $ echo "Testiranje" | mail -s "Testiranje postave pošte" [email protected]

    "Testiranje" će biti u tijelu poruke e-pošte, a predmet će biti "Testiranje postavljanja pošte". Provjerite svoju e-poštu da biste provjerili jeste li je primili.

    Pisanje skripte za poruke e-pošte

    Sada kada možemo poslati e-poštu iz komandne linije, napišite skriptu koja će nam poslati neke osnovne informacije o našem sustavu.

    #! / Bin / bash

    # Provjerite prostor na tvrdom disku

    echo "Prostor tvrdog diska:"> /home/geek/email.txt

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

    # Navedite korisnike koji su prijavljeni

    echo "Korisnici koji su trenutno prijavljeni:" >> /home/geek/email.txt

    tko >> /home/geek/email.txt

    # Popis trenutno pokrenutih procesa

    echo "Pokrenuti procesi:" >> /home/geek/email.txt

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

    # Pošaljite poruku e-pošte

    cat /home/geek/email.txt | mail -s "Dnevne informacije o poslužitelju" [email protected]

    # Izbrišite datoteku koju smo stvorili

    rm /home/geek/email.txt

    Očito možete dobiti puno više dubine sa svojom skriptom, pa čak i učiniti oblikovanje nešto ljepšim, 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 je automatski izvršavamo u isto vrijeme svaki dan. U ovom primjeru, konfigurirat ćemo e-poštu za slanje u 14:00 svakog jutra, kako bismo mogli pregledati podatke kasnije tog dana.

    $ crontab -e

    Za e-poštu u 2:00 dodajte:

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

    Napisali smo cijeli članak o crontab datotekama ako trebate više pomoći s ovim dijelom.

    Automatizirane poruke e-pošte u sustavu Windows

    Slanje e-pošte putem naredbenog retka moguće je putem programa PowerShell, ali smo otkrili da je implementacija ove funkcije mnogo lakša s aplikacijama trećih strana, posebno kada se koristi Gmail. SendEmail je besplatan program dostupan za Windows koji olakšava integraciju s Windows Task Scheduler i Gmail. Kliknite gornju vezu da biste preuzeli najnoviju kopiju i provjerite jeste li preuzeli verziju koju podržava TLS.

    Nakon što preuzmete SendEmail, izdvojite zip datoteku i stavite sadržaj negdje gdje ih možete pohraniti sve dok planirate slati automatizirane poruke e-pošte. U ovom primjeru samo ćemo pohraniti program u C: SendEmail

    Testiramo SendEmail da bismo dobili brz osjećaj kako funkcionira. Otvorite naredbeni redak tako da upišete cmd u izbornik Start ili Run (Ctrl + R).

    Otvorite naredbeni redak pomoću naredbe promjene direktorija za navigaciju do mjesta na kojem ste pohranili SendEmail datoteke.

    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 korisničko ime -xp lozinka -u "Testni predmet e-pošte" -m "Ovo je testna e-pošta."

    Očito, prije izvođenja naredbe, "username" i "password" zamijenite vjerodajnicama računa.

    Evo što zapravo čini gore navedena naredba:

    Pošalji e-mail izvršava program.

    -f - s adrese

    -t - na adresu

    -a - 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 provjerili jeste li primili testnu e-poštu, a zatim možemo napisati skriptu koja će nam poslati informacije o poslužitelju.

    Pisanje skripte za poruke e-pošte

    Da bismo maksimalno iskoristili našu skriptu, napisat ćemo je za PowerShell. Otvorite Windows PowerShell ISE tako da upišete powershell_ise.exe u Run prompt (Ctrl + R).

    S desne strane prozora PowerShell ISE možete navesti sve naredbe koje PowerShell može izvršiti. To će vam dati dobar početak u generiranju vrsta informacija koje su vam potrebne. U vašoj skripti možete pozvati i programe trećih strana za izlaz informacija (npr. SendEmail je aplikacija treće strane, ali PowerShell i cmd mogu ga koristiti za izvršavanje zadataka koje inače ne mogu).

    U našem primjeru skripte provjerit ćemo trenutnu upotrebu diska C na disku, prikazati trenutačno pokrenute procese i prikazati sve datoteke koje se trenutačno dijele putem mreže.

    # Provjerite prostor na tvrdom disku

    echo "C: Upotreba pogona:"> C: SendEmail info.txt

    Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Veličina odabranog objekta, FreeSpace >> C: SendEmail info.txt

    # Popis trenutno pokrenutih procesa

    echo "Pokretanje procesa:" >> C: SendEmail info.txt

    get-process >> C: SendEmail info.txt

    # Navedite datoteke / mape koje se trenutno dijele

    echo "SMB dionice:" >> C: SendEmail info.txt

    get-smbshare >> C: SendEmail info.txt

    # Pošaljite poruku e-pošte

    tip C: SendEmail info.txt | C: SendEmail sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu korisničko ime -xp lozinka -u "Dnevni podaci o poslužitelju"

    # Izbrišite datoteku koju smo napravili

    rm C: SendEmail info.txt

    U ovoj skripti razne se informacije šalju u C: SendEmail info.txt, a zatim nam se tekst u tom dokumentu šalje e-poštom prije brisanja. Spremite svoju skriptu s ekstenzijom datoteke ps1 (datoteka PowerShell).

    Dok je skripta dovršena, pokrenite brzi test iz prompta za pokretanje kako biste bili sigurni da ispravno radi.

    Samo upotrijebite PowerShell naredbu s -datoteka argument i odredite putanju do skripte.

    powerhell -file "c: SendEmail \ t

    Provjerite pristiglu poštu kako biste provjerili jeste li primili poruku e-pošte - ako ne, potražite skriptu za pogreške u sintaksi. Evo kako izgleda generirana e-pošta iz naše skripte primjera:

    Možete se igrati s oblikovanjem (kao što je ponavljanje praznih redova između teksta) kako biste ga prikazali ljepšim na vašem uređaju, ili još bolje, možete koristiti program treće strane koji će prikazivati ​​potrebne informacije u čitljivijem formatu nego što to čini Windows ( proces skriptiranja i dalje će biti isti).

    Nakon što razradite kinkove u svojoj skripti, za automatizaciju možete koristiti Windows Task Scheduler. Otvorite Windows Task Scheduler putem izbornika Start.

    Kada je planer zadataka otvoren, odaberite Akcija> Stvori osnovni zadatak.

    Imenujte ovaj zadatak kao što je "Dnevna e-mail skripta" i kliknite sljedeći. Na sljedećem zaslonu odaberite učestalost kojom želite da se pokreće skripta e-pošte, vjerojatno svakodnevno. Zatim odaberite vrijeme kada želite da se skripta pokrene i pritisnite sljedeći.

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

    Pritisnite sljedeći i zatim pritisnite Yes u ovom prozoru:

    Kliknite Završi na posljednjem izborniku i završili ste s zakazivanjem automatskih poruka e-pošte.