Kotisivu » miten » Tietokoneen tilastojen automaattinen luominen ja lähettäminen

    Tietokoneen tilastojen automaattinen luominen ja lähettäminen

    On tärkeää tarkistaa palvelimellasi erilaisia ​​lokitietoja ja tilastoja joka päivä, mutta se kasvaa tylsäksi. Eikö olisi mukavaa saada yksi sähköpostiviesti, jossa on kaikki kohokohdat joka päivä, joten sinun ei tarvitse edes palata palvelimeen tarkistamaan ongelmia? Tämä opas näyttää, miten automaattiset sähköpostit voidaan määrittää Linuxissa ja Windowsissa.

    Se kattaa nimenomaan tämän Ubuntu- ja Windows 8.1 -käyttöjärjestelmien kanssa, kun Gmailia käytetään sähköpostipalvelimena, josta posti lähetetään. Jos sinulla on toinen Linux- tai Windows-versio tai haluat käyttää jotakin muuta sähköpostipalvelua, tässä olevien ohjeiden tulisi olla helposti mukautettavissa.

    Automaattiset sähköpostit Linuxissa

    Tätä varten käytämme kahta eri pakettia, ssmtp ja mailutils, joten asenna molemmat seuraavalla komennolla:

    $ sudo apt-get asenna ssmtp-postilähetykset

    Kun ne on asennettu, SSMTP-määritystiedostoon on tehtävä joitakin muutoksia:

    $ sudo vi /etc/ssmtp/ssmtp.conf

    Muokkaa tiedostoa näillä muutoksilla (se on turvallista vain poistaa kaikki tiedostot ja kopioida / liittää nämä asetukset, jos haluat):

    # Tämä osoite vastaanottaa sähköpostit, joten kirjoita oma sähköpostiosoitteesi, jos haluat vastaanottaa ne.

    [email protected]

    # Määritä sähköpostipalvelin täällä (jätä sellaisenaan, jos käytät Gmailia).

    mailhub = smtp.gmail.com: 587

    # Verkkotunnus, josta sähköposti tulee.

    rewriteDomain = gmail.com

    # Sähköpostiosoite, jonka nämä sähköpostiviestit pitäisi lähettää.

    [email protected]

    # SSL / TLS-asetukset, joita tarvitaan Gmailiin ja useimpiin muihin sähköpostipalvelimiin.

    UseTLS = Kyllä

    UseSTARTTLS = Kyllä

    # Gmail-tilin käyttäjätunnus ja salasana.

    AUTHUSER = käyttäjätunnus

    AuthPass = salasana

    # Salli kyky määrittää osoitteesta eri kuin edellä.

    FromLineOverride = yes

    Kun olet lopettanut tiedoston muokkaamisen, haluat muuttaa käyttöoikeuksia, koska Gmail-salasanasi on tallennettu selkeästi.

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

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

    On aina turvallisempaa tehdä tiedoston omistajan nimi, mutta sitten meidän olisi käytettävä sudo-komentoa käsikirjoituksessamme, ja se kehottaa meitä antamaan salasanan, jolloin kukin tämän prosessin automatisoinnin tarkoitus.

    Jos käytät jaettua palvelinta ja olet huolissasi siitä, että salasanasi on tallennettu tavalliseen tekstiin ja luettavissa rootilla, luo heikko Gmail-tili tai käytä sähköpostipalvelinta, joka ei edellytä minkäänlaista todentamista..

    Varmista, että kaikki on määritetty oikein, kokeile testisähköpostiosoitetta:

    $ echo "Testaus" | mail -s "Sähköpostin asetukset" käyttäjä[email protected]

    "Testaus" on sähköpostin rungossa ja aihe on "Postin asetusten testaus". Tarkista sähköpostisi ja varmista, että olet vastaanottanut sen.

    Kirjoitetaan sähköpostiviestien komentosarja

    Nyt kun pystymme lähettämään sähköpostiviestejä komentoriviltä, ​​kirjoita komentosarja, joka lähettää meille perustiedot järjestelmästämme.

    #! / Bin / bash

    # Tarkista kiintolevytila

    echo "Kiintolevytila:"> /home/geek/email.txt

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

    # Luettelo käyttäjistä, jotka ovat kirjautuneet sisään

    echo "Käyttäjät ovat kirjautuneet sisään:" >> /home/geek/email.txt

    kuka >> /home/geek/email.txt

    # Listaa käynnissä olevat prosessit

    echo "Juoksuprosessit:" >> /home/geek/email.txt

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

    # Lähetä sähköposti

    cat /home/geek/email.txt | mail -s "Päivittäiset palvelintiedot" käyttäjä[email protected]

    # Poista luomasi tiedosto

    rm /home/geek/email.txt

    Ilmeisesti voit saada paljon syvällisemmän käsikirjoituksesi kanssa ja jopa muotoilla hieman mukavampaa, mutta tämä on se, mitä tulos näyttää sähköpostissamme:

    Nyt kun skripti on kirjoitettu ja testattu, voimme käyttää cronia suorittamaan sen automaattisesti joka päivä samaan aikaan. Tässä esimerkissä määritämme sähköpostin lähetettäväksi joka aamu kello 2:00, jotta voimme käydä läpi tiedot myöhemmin samana päivänä.

    $ crontab -e

    Lisää 2:00 AM-sähköpostiviesteihin:

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

    Olemme kirjoittaneet koko artikkelin crontab-tiedostoista, jos tarvitset lisää apua tässä osassa.

    Automaattiset sähköpostit Windowsissa

    Sähköpostiviestien lähettäminen komentoriville on mahdollista PowerShellin kautta, mutta olemme havainneet, että tämän toiminnon toteuttaminen on paljon helpompaa kolmansien osapuolten sovelluksilla, varsinkin kun käytät Gmailia. SendEmail on ilmainen Windows-ohjelma, joka tekee integroinnin Windows Task Scheduleriin ja Gmailiin helppoa. Lataa uusin kopio napsauttamalla yllä olevaa linkkiä ja varmista, että otat TLS-tuetun version.

    Kun olet ladannut SendEmailin, poista zip-tiedosto ja aseta sisältö johonkin, johon voit tallentaa ne niin kauan kuin aiot lähettää automaattisia sähköpostiviestejä. Tässä esimerkissä aiomme tallentaa ohjelman vain C: SendEmailiin

    Testataan SendEmailia saadaksesi nopean tuntuman siitä, miten se toimii. Avaa komentokehote kirjoittamalla cmd Käynnistä tai Suorita (Ctrl + R) -valikkoon.

    Kun komentorivi on auki, käytä muutoshakemistokomentoa navigoidaksesi kohtaan, johon tallensit SendEmail-tiedostot.

    cd C: Lähetä sähköposti

    Nyt voimme yrittää lähettää testiviestin, jossa on seuraava komento:

    sendEmail -f käyttäjä[email protected] [email protected] -s smtp.gmail.com:587 -xu käyttäjätunnus -xp salasana -u "Testaa sähköpostin aihe" -m "Tämä on testiviesti."

    Ilmeisesti korvaa “käyttäjätunnus” ja “salasana” tilisi käyttöoikeustiedoilla ennen komennon suorittamista.

    Tässä on mitä komento yllä:

    lähettää sähköpostia suorittaa ohjelman.

    -f - osoitteesta

    -T - osoitteeseen

    -s - SMTP-palvelin

    -xu - tilin käyttäjätunnus

    -xp - tilin salasana

    -U - sähköpostin aihe

    -m - kirjoita tekstiviesti

    Tarkista postilaatikkosi ja varmista, että olet saanut testisähköpostin, ja sitten voimme siirtyä kirjoittamaan komentosarjan, joka lähettää meille palvelintietoja.

    Kirjoitetaan sähköpostiviestien komentosarja

    Jotta saat kaiken irti skriptiämme, kirjoitamme sen PowerShellille. Avaa Windows PowerShell ISE kirjoittamalla powershell_ise.exe Suorita-kehotteeseen (Ctrl + R).

    PowerShell ISE -ikkunan oikealla puolella voit luetella jokaisen PowerShellin suorittaman komennon. Tämän pitäisi antaa sinulle hyvä alku siitä, että luotat tarvitsemasi tiedot. Skriptissasi voit myös soittaa kolmansien osapuolten ohjelmiin myös tietojen lähettämiseen (ts. SendEmail on kolmannen osapuolen sovellus, mutta PowerShell ja cmd voivat käyttää sitä tavallisten tehtäviensä suorittamiseen).

    Esimerkkikomentomme tarkistamme C-aseman nykyisen levyn käytön, näyttää parhaillaan käynnissä olevat prosessit ja näyttävät kaikki tiedostot, jotka ovat parhaillaan jaettavissa verkossa..

    # Tarkista kiintolevytila

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

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

    # Listaa käynnissä olevat prosessit

    echo "Juoksuprosessit:" >> C: SendEmail info.txt

    get-process >> C: SendEmail info.txt

    # Luettele tällä hetkellä jaettavat tiedostot / kansiot

    echo "SMB-osakkeet:" >> C: SendEmail info.txt

    get-smbshare >> C: SendEmail info.txt

    # Lähetä sähköposti

    tyyppi C: SendEmail info.txt | C: Lähetä sähköposti Sähköposti -f käyttäjä[email protected] [email protected] -s smtp.gmail.com:587 -xu käyttäjätunnus -xp salasana -u "Päivittäinen palvelimen tiedot"

    # Poista tekemäsi tiedosto

    rm C: SendEmail info.txt

    Tässä komentosarjassa C: lle lähetetään erilaisia ​​tietoja: SendEmail info.txt, ja sitten kyseisen asiakirjan teksti lähetetään meille ennen kuin se poistetaan. Tallenna skripti ps1-tiedostotunnisteella (PowerShell-tiedosto).

    Suorita skriptisi loppuun, suorita nopea testi Suorita-kehotteesta varmistaaksesi, että se toimii oikein.

    Käytä vain PowerShell komennolla a -tiedosto argumentti ja määritä skriptisi polku.

    powershell -file "c: Lähetä sähköpostiviesti-email.ps1"

    Tarkista postilaatikkosi ja varmista, että olet saanut sähköpostiviestin - jos ei, etsi komentosarjaasi syntaksivirheitä varten. Seuraavassa on esimerkkikomentomme luoma sähköposti:

    Voit toistaa muotoilun avulla (kuten toistaa tyhjiä rivejä tekstin välissä), jotta se näyttää mukavampaa laitteessasi tai vielä parempaa, mutta voit käyttää kolmannen osapuolen ohjelmaa, joka välittää tarvittavan tiedon luettavammassa muodossa kuin Windows ( komentosarjaprosessi on edelleen sama.

    Kun olet kehittänyt skriptit, voit käyttää Windows Task Scheduleria automatisoimalla sen. Avaa Windowsin tehtävän ajoitus Käynnistä-valikon kautta.

    Kun Task Scheduler on avattu, valitse Action> Create Basic Task.

    Nimeä tämä tehtävä “Daily email script”: ksi ja napsauta seuraavaksi. Valitse seuraavalla näytöllä taajuus, jolla haluat, että sähköpostisi skripti suoritetaan, todennäköisesti päivittäin. Valitse sitten aika, jonka haluat skriptin suorittamisen, ja paina seuraavaksi.

    Nyt sinun pitäisi olla ohjatun toiminnon osassa, valitse ”Aloita ohjelma” ja kirjoita sama teksti, jonka kirjoitimme Suorita-kehotteeseen aikaisemmin, jotta voit testata komentosarjamme.

    Napsauta seuraavaa ja paina sitten Kyllä tässä ikkunassa:

    Valitse viimeisestä valikosta Valmis ja olet suorittanut automaattisten sähköpostiviestien ajoituksen.