Domača » kako » Kako samodejno ustvariti in e-poštno računalniško statistiko

    Kako samodejno ustvariti in e-poštno računalniško statistiko

    Pomembno je, da vsak dan preverite različne podatke dnevnika in statistične podatke na strežniku, vendar je vedno bolj dolgočasno. Ali ne bi bilo lepo, če bi vsak dan prejeli eno e-poštno sporočilo z vsemi poudarki, tako da vam sploh ni treba priti na strežnik, da bi preverili težave? Ta priročnik vam bo pokazal, kako konfigurirati samodejna e-poštna sporočila v sistemih Linux in Windows.

    To bomo posebej obravnavali za Ubuntu in Windows 8.1, pri čemer se Gmail uporablja kot e-poštni strežnik, iz katerega je poslana pošta. Če imate drugo različico Linuxa ali Windows ali raje uporabljate kakšno drugo e-poštno storitev, morate navodila tukaj enostavno prilagoditi.

    Avtomatizirana e-pošta v Linuxu

    Za dosego tega bomo uporabili dva različna paketa, ssmtp in mailutils, zato namestite oba z naslednjim ukazom:

    $ sudo apt-get namesti ssmtp mailutils

    Ko jih namestite, moramo spremeniti konfiguracijsko datoteko SSMTP:

    $ sudo vi /etc/ssmtp/ssmtp.conf

    Uredite datoteko s temi spremembami (varno je izbrisati vse besedilo v datoteki in kopirati / prilepiti te nastavitve, če želite):

    # Ta naslov bo prejel e-poštna sporočila, zato vnesite svoj e-poštni naslov, če ga želite prejemati.

    [email protected]

    # Tukaj določite e-poštni strežnik (pustite, kot je, če uporabljate Gmail).

    mailhub = smtp.gmail.com: 587

    # Ime domene, iz katere bo prišla pošta.

    rewriteDomain = gmail.com

    # E-poštni naslov, iz katerega naj bodo ta e-poštna sporočila.

    [email protected]

    # Nastavitve SSL / TLS, potrebne za Gmail in večino drugih poštnih strežnikov.

    UseTLS = Da

    Uporabite STARTTLS = Da

    # Uporabniško ime in geslo za Gmailov račun.

    AuthUser = uporabniško ime

    AuthPass = geslo

    # Dovoli možnost, da podate naslov, ki je drugačen od zgoraj navedenega.

    FromLineOverride = yes

    Ko končate z urejanjem datoteke, boste želeli spremeniti dovoljenja, ker je geslo za Gmail shranjeno v odprtem besedilu.

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

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

    Vedno je bolj varno narediti korenskega lastnika datoteke, potem pa bi morali uporabiti ukaz sudo v našem skriptu in bi nas spodbudil k geslu, s čimer bi premagali namen avtomatizacije celotnega procesa..

    Če uporabljate strežnik v skupni rabi in vas skrbi, da bo vaše geslo shranjeno v obliki besedila in ga bo mogoče brati s korenom, ustvarite Gmailov račun, ki ga lahko uporabite, ali uporabite e-poštni strežnik, ki ne potrebuje nobene vrste overjanja..

    Če želite zagotoviti, da je vse pravilno konfigurirano, poskusimo poskusno e-poštno sporočilo:

    $ echo "Testiranje" | e-poštna sporočila "Testiranje nastavitve pošte" [email protected]

    »Testiranje« bo v glavnem delu e-pošte in bo predmet »Testiranje nastavitve pošte«. Preverite svoj e-poštni naslov in se prepričajte, da ste ga prejeli..

    Pisanje scenarija za e-pošto

    Zdaj, ko lahko pošiljamo e-pošto iz ukazne vrstice, napišemo skript, ki nam bo poslal nekaj osnovnih informacij o našem sistemu.

    #! / bin / bash

    # Preverite prostor na trdem disku

    echo "Prostor na trdem disku:"> /home/geek/email.txt

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

    # Seznam uporabnikov, ki so prijavljeni

    echo "Uporabniki, ki so trenutno prijavljeni:" >> /home/geek/email.txt

    kdo >> /home/geek/email.txt

    # Seznam trenutno zagnanih procesov

    echo "Postopek izvajanja:" >> /home/geek/email.txt

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

    # Pošljite e-pošto

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

    # Izbrišite datoteko, ki smo jo ustvarili

    rm /home/geek/email.txt

    Očitno je, da lahko s svojim scenarijem dobite veliko bolj poglobljeno besedilo in celo naredite malo lepše oblikovanje, vendar je to videti v našem e-poštnem naslovu:

    Zdaj, ko je skript napisan in preizkušen, lahko uporabimo cron, da ga samodejno izvršimo vsak dan ob istem času. V tem primeru bomo konfigurirali e-poštno sporočilo, ki bo vsako jutro poslano ob 14.00 uri, da bomo podatke lahko pregledali kasneje tistega dne..

    $ crontab -e

    Za e-poštna sporočila ob 2:00 dodajte:

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

    Če potrebujete več pomoči s tem delom, smo napisali celoten članek o crontab datotekah.

    Avtomatizirana e-poštna sporočila v sistemu Windows

    Pošiljanje e-poštnih sporočil v ukazni vrstici je mogoče prek PowerShell, vendar smo ugotovili, da je uporaba te funkcije veliko lažje pri aplikacijah tretjih oseb, zlasti pri uporabi Gmaila. SendEmail je brezplačen program, ki je na voljo za Windows in omogoča integracijo s programom Windows Task Scheduler in Gmail. Kliknite zgornjo povezavo, da prenesete najnovejšo kopijo, in poskrbite, da boste zagrabili različico, ki jo podpira TLS.

    Ko prenesete SendEmail, izvlecite datoteko zip in postavite vsebino nekje, ki jo lahko shranite, dokler nameravate pošiljati samodejna e-poštna sporočila. V tem primeru bomo program shranili v C: SendEmail

    Preizkusimo SendEmail, da hitro dobimo občutek, kako deluje. Odprite ukazni poziv tako, da vnesete cmd v meni Start ali Run (Ctrl + R).

    Ko je ukazni poziv odprt, uporabite ukaz za spremembo imenika za navigacijo do mesta, kjer ste shranili datoteke SendEmail.

    cd C: SendEmail

    Zdaj lahko poskusimo poslati testno e-poštno sporočilo z naslednjim ukazom:

    sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu uporabniško ime -xp geslo -u "Testni predmet e-pošte" -m "To je testna e-pošta."

    Očitno je, da pred izvajanjem ukaza "uporabniško ime" in "geslo" zamenjate z poverilnicami računa.

    Zgoraj navedeni ukaz dejansko:

    Pošlji sporočilo program izvede.

    -f - od naslova

    -t - nasloviti

    -s - Strežnik SMTP

    -xu - uporabniško ime računa

    -xp - geslo računa

    -u - predmet e-pošte

    -m - besedilo telesa e-pošte

    Preverite svojo mapo »Prejeto«, da se prepričate, da ste prejeli preizkusno e-pošto, nato pa lahko nadaljujemo s pisanjem skripta, ki nam bo poslal podatke o strežniku.

    Pisanje scenarija za e-pošto

    Da bi kar najbolje izkoristili naš scenarij, ga bomo napisali za PowerShell. Odprite Windows PowerShell ISE tako, da v poziv za zagon vnesete powershell_ise.exe (Ctrl + R).

    Na desni strani okna PowerShell ISE lahko navedete vse ukaze, ki jih lahko izvrši PowerShell. To vam bo dalo dober začetek pri ustvarjanju vrst informacij, ki jih potrebujete. V vašem skriptu lahko tudi zahtevate programe drugih proizvajalcev za prikazovanje informacij (npr. SendEmail je aplikacija tretje osebe, vendar jo PowerShell in cmd lahko uporabljata za opravljanje nalog, ki jih običajno ne moreta).

    Za naš primerni skript bomo preverili trenutno uporabo diska C na disku, prikazali trenutne postopke in prikazali vse datoteke, ki so trenutno v skupni rabi po omrežju.

    # Preverite prostor na trdem disku

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

    Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Velikost izbire objekta, FreeSpace >> C: SendEmail info.txt

    # Seznam trenutno zagnanih procesov

    echo "Izvajanje procesov:" >> C: SendEmail info.txt

    get-process >> C: SendEmail info.txt

    # Seznam datotek / map, ki so trenutno v skupni rabi

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

    get-smbshare >> C: SendEmail info.txt

    # Pošljite e-pošto

    tip C: SendEmail info.txt | C: SendEmail sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu uporabniško ime -xp geslo -u "Dnevni podatki o strežniku"

    # Izbrišite datoteko, ki smo jo naredili

    rm C: SendEmail info.txt

    V tem skriptu se v C oddajajo različne informacije: SendEmail info.txt, nato pa nam je besedilo v tem dokumentu poslano, preden se izbriše. Shranite skript s pripono datoteke ps1 (datoteka PowerShell).

    Ko je skript dokončan, izvedite hiter preskus iz poziva Run, da se prepričate, ali deluje pravilno.

    Samo uporabite PowerShell ukaz s -mapa argument in določite pot do skripta.

    powershell -file "c: SendEmail \ t

    Preverite svojo mapo »Prejeto« in se prepričajte, da ste prejeli e-pošto - če ne, si oglejte skript za napake v sintaksi. Ustvarjeno e-poštno sporočilo iz našega primera skripte izgleda takole:

    Z oblikovanjem (kot je odmevanje praznih vrstic med besedilom) se lahko igrate, da bo prikazan lepše na vaši napravi ali še bolje uporabite program tretje osebe, ki bo podatke, ki jih potrebujete, prikazal v bolj berljivem formatu kot Windows ( proces skriptiranja bo še vedno enak).

    Ko ste izdelali skrivnosti v skriptu, lahko za avtomatizacijo uporabite Windows Task Scheduler. Odprite Windows Task Scheduler v meniju Start.

    Ko je razporejevalnik opravil odprt, izberite Dejanje> Ustvari osnovno opravilo.

    Poimenujte to nalogo, kot je »Dnevni e-poštni skript« in kliknite Naprej. Na naslednjem zaslonu izberite pogostost, s katero želite, da se izvaja vaš e-poštni skript, verjetno vsak dan. Nato izberite čas, v katerem želite, da se scenarij zažene, in pritisnite naslednji.

    Zdaj bi morali biti v delu čarovnika za »Dejanje«, izberite »Začni program« in vnesite isto besedilo, ki smo ga vnesli v poziv »Zaženi«, da testirate naš scenarij.

    Pritisnite naslednje in nato v tem oknu pritisnite Da:

    V zadnjem meniju kliknite Dokončaj in končali ste z načrtovanjem samodejnih e-poštnih sporočil.