Koduleht » kuidas » Kuidas arvutiandmeid automaatselt genereerida ja e-posti teel saata

    Kuidas arvutiandmeid automaatselt genereerida ja e-posti teel saata

    Oluline on kontrollida iga päev oma serveri logi andmeid ja statistikat, kuid see kasvab tüütu. Kas ei oleks tore, et iga päev saabuvad kõik esiletõstetud kirjad ühe e-kirjaga, nii et teil ei ole vaja isegi serveri poole pöörduda probleemide kontrollimiseks? See juhend näitab teile, kuidas konfigureerida automatiseeritud e-kirju Linuxis ja Windowsis.

    Me katame selle spetsiaalselt Ubuntu ja Windows 8.1 jaoks, kusjuures Gmaili kasutatakse e-posti serverina, millest kiri saadetakse. Kui teil on teine ​​Linuxi või Windowsi versioon või eelistate kasutada mõnda muud e-posti teenust, peaksid siin toodud juhised olema kergesti kohandatavad.

    Automatiseeritud kirjad Linuxis

    Selle saavutamiseks kasutame kahte erinevat paketti: ssmtp ja mailutils, nii et installige mõlemad järgmise käsuga:

    $ sudo apt-get installige ssmtp mailutils

    Kui need on installitud, peame SSMTP konfiguratsioonifailis mõned muudatused tegema:

    $ sudo vi /etc/ssmtp/ssmtp.conf

    Redigeerige faili nende muudatustega (see on ohutu, et kustutate kogu faili faili ja kopeerige / kleepige need seaded, kui soovite):

    # See aadress saab e-kirjad, nii et sisestage oma e-kiri, kui soovite neid vastu võtta.

    [email protected]

    # Määrake siin e-posti server (jätke see siis, kui kasutate Gmaili).

    mailhub = smtp.gmail.com: 587

    # Domeeninimi, millest kiri pärineb.

    rewriteDomain = gmail.com

    # E-posti aadress, millest need e-kirjad peaksid olema.

    [email protected]

    # SSL / TLS seaded, mis on vajalikud Gmaili ja enamiku teiste postiserverite jaoks.

    UseTLS = Jah

    UseSTARTTLS = Jah

    # Gmaili konto kasutajanimi ja parool.

    AuthUser = kasutajanimi

    AuthPass = parool

    # Võimaldab määrata aadressi, mis on erinev ülaltoodust.

    FromLineOverride = jah

    Kui olete faili redigeerimise lõpetanud, peate muutma õigusi, kuna teie Gmaili parool salvestatakse lihtsas tekstis.

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

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

    Faili omaniku juurutamine on alati turvalisem, kuid siis peaksime kasutama meie skriptis sudo käsku ja see viiks meid parooli andma, kaotades selle kogu protsessi automatiseerimise eesmärgi.

    Kui kasutate jagatud serverit ja olete mures selle pärast, et parool salvestatakse tavalisse teksti ja loetavaks root, looge Gmaili konto või kasutage e-posti serverit, mis ei nõua mingit tüüpi autentimist..

    Veendumaks, et kõik on õigesti konfigureeritud, proovime proovida e-posti:

    $ echo "Testimine" | mail -s "Postituste testimine" [email protected]

    "Testimine" on e-kirja põhiosas ja teema on "Postiseadete testimine". Kontrollige oma e-posti, et veenduda, et olete selle kätte saanud.

    Kirjade kirjutamine e-kirjadele

    Nüüd, kui meil on võimalik käsurealt e-kirju saata, kirjutage skript, mis saadab meile meie süsteemi kohta põhiteabe.

    #! / bin / bash

    # Kontrollige kõvaketta ruumi

    echo "Kõvaketta ruum:"> /home/geek/email.txt

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

    # Nimekiri kasutajatele, kes on sisse logitud

    echo "Kasutajad on praegu sisse loginud:" >> /home/geek/email.txt

    kes >> /home/geek/email.txt

    # Loetlege praegu töötavad protsessid

    echo "Jooksvad protsessid:" >> /home/geek/email.txt

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

    # Saada e-kiri

    kass / home/geek/email.txt | mail -s "Igapäevane serveriteave" [email protected]

    # Kustutage loodud fail

    rm /home/geek/email.txt

    Ilmselgelt saate oma skriptiga palju põhjalikuma ja isegi vormindamise natuke kenamaks, kuid see on see, mida väljund näeb välja meie e-posti aadressil:

    Nüüd, kui skript on kirjutatud ja testitud, saame kasutada croni selle automaatseks täitmiseks iga päev samal ajal. Selles näites konfigureerime me e-posti, mis saadetakse igal hommikul kell 2:00, et saaksime hiljem selle päeva jooksul andmeid läbi vaadata.

    $ crontab -e

    2:00 AM e-kirjade puhul lisage:

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

    Kui teil on vaja rohkem abi selle osa kohta, oleme kirjutanud crontab-failidest terve artikli.

    Automatiseeritud e-kirjad Windowsis

    E-kirjade saatmine käsurealt on võimalik PowerShelli kaudu, kuid oleme leidnud, et selle funktsiooni rakendamine on kolmandate osapoolte rakendustega palju lihtsam, eriti Gmaili kasutamisel. SendEmail on Windowsile saadaval olev tasuta programm, mis muudab integreerimise Windows Task Scheduleriga ja Gmailiga imeliseks. Uusima eksemplari allalaadimiseks klõpsake ülaloleval lingil ja veenduge, et haarate TLS-toega versiooni.

    Kui olete SendEmaili alla laadinud, eemaldage zip-fail ja pange sisu kusagile, mida saate neid salvestada nii kaua, kui kavatsete saata automatiseeritud e-kirju. Selles näites salvestame me programmi C: SendEmail

    Testime SendEmaili, et saada kiire tunne selle toimimise kohta. Avage käsuviip, sisestades cmd menüüsse Start või Run (Ctrl + R).

    Avatud käsurea abil kasutage käsku Muuda kataloogi, kuhu navigeerida SendEmaili faile.

    cd C: e-post

    Nüüd saame proovida saata e-kirja, millel on järgmine käsk:

    sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu kasutajanimi -xp password -u "Testi e-posti teema" -m "See on testpost."

    Ilmselgelt asenda “kasutajanimi” ja “parool” oma konto volitustega enne käsu täitmist.

    Siin on ülaltoodud käsk:

    saada email täidab programmi.

    -f - aadressilt

    -t - addresseerima

    -s - SMTP-server

    -xu - konto kasutajanimi

    -xp - konto parool

    -u - e-posti teema

    -m - e-posti tekstitekst

    Kontrollige oma postkasti, et veenduda, et olete saanud e-posti testi, ja seejärel saame edasi minna skripti kirjutamisele, mis saadab meile serveriteabe.

    Kirjade kirjutamine e-kirjadele

    Et saada oma skriptist võimalikult palju kasu, kirjutame selle PowerShelli jaoks. Avage Windows PowerShell ISE, tippides käsku powershell_ise.exe käsureale (Ctrl + R).

    PowerShelli ISE akna paremal küljel saate loetleda iga käsu, mida PowerShell on võimeline täitma. See peaks andma teile hea alguse vajaliku teabe edastamise kohta. Teie skriptis saate ka kolmandatelt osapooltelt programme helistada ka teabe väljastamiseks (s.o. SendEmail on kolmanda osapoole rakendus, kuid PowerShell ja cmd saavad seda kasutada nende tavapäraste ülesannete täitmiseks).

    Meie näiteskripti puhul kontrollime C-draivi praegust kettakasutust, kuvame praegu käimasolevaid protsesse ja näitame kõiki faile, mida praegu võrgus jagatakse.

    # Kontrollige kõvaketta ruumi

    echo "C: draivi kasutamine:"> C: e-posti info.txt

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

    # Loetlege praegu töötavad protsessid

    echo "Running process:" >> C: SendEmail info.txt

    get-process >> C: e-posti info.txt

    # Näita praegu jagatavaid faile / kaustu

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

    get-smbshare >> C: e-posti info.txt

    # Saada e-kiri

    tüüp C: SendEmail info.txt | C: Saada e-mail e-post -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu kasutajanimi -xp parool -u "Igapäevane serveri info"

    # Kustutage tehtud fail

    rm C: e-posti info.txt

    Selles skriptis väljastatakse C: E-posti aadressile info.txt ja seejärel selle dokumendi tekst meile enne selle kustutamist. Salvesta oma skript ps1-faililaiendiga (PowerShelli fail).

    Kui skript on lõpetatud, käivitage kiire käivitamise käsk, et veenduda, et see töötab korralikult.

    Kasutage lihtsalt võimsus käsklusega a -faili argument ja määrake oma skripti tee.

    powershell -fail "c: e-posti aadress iga päev-email.ps1"

    Kontrollige oma postkasti, et veenduda, et olete saanud e-kirja - kui mitte, vaata süntaksivigade skripti. Järgnevalt näeb välja näite skripti loodud e-kiri:

    Võite vormindamise abil mängida (näiteks tühistada tekstidevahelisi tühjaid ridu), et see oleks teie seadmes ilusam või parem, kuid saate kasutada kolmanda osapoole programmi, mis väljastab vajaliku info loetavamal kujul kui Windows ( skriptimisprotsess on endiselt sama.

    Kui olete skripti kinksid välja töötanud, saate kasutada seda Windows Task Scheduler abil. Avage menüü Start käsk Windows Task Scheduler.

    Kui tegumite loendur on avatud, valige Action> Create Basic Task.

    Nimetage see ülesanne nagu “Daily email script” ja klõpsake nuppu Next. Järgmisel ekraanil valige sagedus, millega soovite oma e-posti skripti käivitada, tõenäoliselt iga päev. Seejärel vali aeg, mida soovite skripti käivitada, ja vajuta järgmine.

    Nüüd peaksite olema viisardi „Action” osas, valige „Start a Program” ja sisestage sama tekst, mille me oma skripti testimiseks varem käivitasime..

    Vajutage järgmisele ja seejärel klõpsake selles aknas nuppu Yes:

    Klõpsake viimases menüüs Finish (Valmis) ja olete lõpetanud oma automaatsete e-kirjade ajastamise.