11Jul
Oluline on kontrollida igapäevaselt serveri erinevaid logiandmeid ja statistikat, kuid see muutub tüütuks. Kas poleks tore saada iga päev üht e-kirja, millel oleksid kõik esiletõstetud, nii et te ei pea probleemide kontrollimiseks isegi serverisse minema? See juhend näitab teile, kuidas konfigureerida automaatseid e-kirju Linuxis ja Windowsis.
Me käsitleme seda konkreetselt Ubuntu ja Windows 8.1 puhul, Gmaili kasutatakse e-posti serverina, kuhu posti saadeti. Kui teil on Linuxi või Windowsi teine versioon või soovite kasutada mõnda muud e-posti teenust, peaks siin toodud juhised olema hõlpsasti kohandatavad.
automaatsed meilid Linuxis
Me kasutame selle, ssmtp ja mailutilsi jaoks kahte erinevat paketti, nii et paigaldage mõlemad järgmised käsud:
$ sudo apt-get install ssmtp mailutils
Kui need on installitud, vajameteha mõned muudatused SSMTP-i konfiguratsioonifailis:
$ sudo vi /etc/ssmtp/ ssmtp.conf
Muutke faili nende muudatustega( see on turvaline lihtsalt kustutada kogu faili tekst ja kopeerida / kleepida need sätted, kui soovite):
# See aadress saab e-kirju, seega sisestage oma e-posti aadress, kui soovite neid vastu võtta.
# Määrake e-posti server siin( jätke see välja, kui kasutate Gmaili).
mailhub = smtp.gmail.com: 587
# Domeeninimi, millest posti pärineb.
rewriteDomain = gmail.com
# E-posti aadress, kust need meilid peaksid olema.
hostname = [email protected]
# SSL / TLS seaded, mis on vajalikud Gmaili ja enamike muude e-posti serverite jaoks.
UseTLS = Jah
KasutusSTARTTLS = Jah
# Teie Gmaili konto kasutajanimi ja parool.
AuthUser = kasutajanimi
AuthPass = parool
# Võimaldab määrata erinevat aadressi, kui ülaltoodud.
FromLineOverride = yes
Kui olete faili redigeerinud, soovite muuta õigusi, kuna Gmaili parool on salvestatud tavalises tekstis.
$ sudo chmod 640 /etc/ssmtp/ ssmtp.conf
$ sudo chown kasutajanimi.username /etc/ssmtp/ ssmtp.conf
Faili omaniku juurutamine on alati turvalisem, kuid siis peaksime kasutama sudo käsku meie skriptis ja see olekspalun meid parooli, seades sellega üle kogu selle protsessi automatiseerimise eesmärgi.
Kui kasutate jagatud serverit ja olete mures selle pärast, et teie salasõna on salvestatud tavalises tekstis ja seda saab lugeda administraatoriga, looge kasutatav Gmaili konto või kasutage e-posti serverit, mis ei vaja ennekõike mingit tüüpi autentimist.
Et veenduda, et kõik on õigesti konfigureeritud, proovime proovilehte:
$ echo "Testing" |post -s "Mailing setup'i testimine" [email protected]
"Testimine" on e-kirja kiri ja teemaks on "Mail setup'i testimine". Veenduge, et olete selle saanud.
Kirja kirjutamine kirjade
jaoks Nüüd, kui me suudame käsurealt e-kirju saata, kirjutame skripti, mis saadab meile mõne põhiteabe meie süsteemi kohta.
#!/bin/ bash
# Kontrollige kõvakettaruumi
echo "kõvaketta ruum:" & gt;/home/geek/ email.txt
df -h & gt; & gt;/home/geek/ email.txt
# Nimeta kasutajaid, kes on sisse loginud
echo "Kasutajad, kes on sisse loginud:" & gt; & gt;/home/geek/ email.txt
kes & gt; & gt;/home/geek/ email.txt
# Nimekiri käimasolevatest protsessidest
echo "Running processes:" & gt; & gt;/home/geek/ email.txt
ps -e & gt;/home/geek/ email.txt
# Saada e-kiri
kass /home/geek/ email.txt |post -s "Igapäevane serveriteave" [email protected]
# Kustuta fail, mille oleme loonud
rm /home/geek/ email.txt
Loomulikult võite oma skriptiga palju põhjalikumalt aru saada ja isegi vormingut natuke paremaks muuta, kuidsee on see, mida väljund näeb välja meie e-posti aadressil:
Nüüd, kui skript on kirjutatud ja testitud, võime kasutada croni automaatselt iga päev samal ajal. Selles näites konfigureerime meili, mis saadetakse igal hommikul kell 2:00, et me saaksime sellel päeval andmeid hiljem läbi vaadata.
$ crontab -e
E-kirjadele kell 2:00 lisa:
0 2 * * * /home/geek/ script.sh
Oleme kirjutanud kogu artikli crontab-failide jaoks, kui vajate selle osaga rohkem abi.
automaatsed meilid operatsioonisüsteemis Windows
Kirja saatmine käsurealt on võimalik PowerShelli kaudu, kuid oleme avastanud, et selle funktsiooni rakendamine on kolmandate osapoolte rakendustega palju lihtsam, eriti Gmaili kasutamisel. SendEmail on Windowsile saadaval tasuta programm, mis muudab integratsiooni Windows Task Scheduleriga ja Gmailiga. Viimase koopia allalaadimiseks klõpsake ülaloleval lingil ja veenduge, et olete TLS-toega versiooni haaranud.
Kui olete alla laadinud SendEmaili, ekstraheerige ZIP-fail ja asetage sisu kusagilt, et saate neid salvestada nii kaua kui kavatsete automaatseid e-kirju saata. Selles näites me lihtsalt kavatseme salvestada programmi C: \ SendEmail
. Saame testida SendEmaili, et saada kiiret tunde, kuidas see toimib. Avage käsuviip, sisestage cmd menüüsse Start või Run( Ctrl + R).
Käsurealoogi avamiseks kasutage käsku Change Directory, et liikuda sellele, kuhu saatsid SendEmail-failid.
cd C: \ SendEmail
Nüüd saame proovile saata testkirja järgmise käsuga:
sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu kasutajanimi -xpparool -u "Test email subject" -m "See on test e-post."
Ilmselt asendage "kasutajanimi" ja "parool" oma konto mandaadiga enne käsu täitmist.
Siin on see, mida tegelikult käsk käib:
sendEmail käivitab programmi.
-f - aadressist
-t - aadressi
-s - SMTP server
-xu - konto kasutajanimi
-xp - konto parool
-u - e-kirja teema
-m - e-kirja tekst
Kontrollige oma postkasti, et veendudasaatsite testi e-kirja ja saame siis edasi kirjutada skripti, mis saadab meile serveriteavet.
Scripti kirjutamine kirjade jaoks
Meie skripti kõige paremaks ärakasutamiseks kirjutame selle PowerShellile. Avage Windows PowerShell ISE, kirjutades powershell_ise.exe käsku Käivita( Ctrl + R).
PowerShell ISE akna paremas servas saate loetleda kõik käsud, mida PowerShell suudab täita. See peaks andma teile hea algus tooteliikide genereerimisel, mida peate teatama. Teie skriptis võite kolmandate isikute programmidele helistada ka teabe väljastamiseks( st SendEmail on kolmanda osapoole rakendus, kuid PowerShell ja cmd saavad seda kasutada ülesannete täitmiseks, mida nad tavaliselt ei saa).
Meie eeskujuks skripti abil kontrollime C-ketta praegust kettakasutust, näitame praegu käimasolevaid protsesse ja näeme kõiki faile, mida praegu võrgu kaudu jagatakse.
# Kontrollige kõvakettaruumi
echo "C: Drive Usage:" & gt;C: \ SendEmail \ info.txt
Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" |Select-Object Size, FreeSpace & gt; & gt;C: \ SendEmail \ info.txt
# Nimekiri käimasolevatest protsessidest
echo "Running processes:" & gt; & gt;C: \ SendEmail \ info.txt
get-process & gt; & gt;C: \ SendEmail \ info.txt
# Nimeta praegu jagatavaid faile / kaustu
echo "SMB shares:" & gt; & gt;C: \ SendEmail \ info.txt
get-smbshare & gt; & gt;C: \ SendEmail \ info.txt
# Saada e-posti
tüüp C: \ SendEmail \ info.txt |C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu kasutajanimi -xp password -u "Igapäevane serveriteave"
# Kustuta fail, mille teeme
rm C: \ SendEmail \ info.txt
Selles skriptis edastatakse mitmesugune teave C: \ SendEmail \ info.txt-ile ja selle dokumendi tekst saadetakse meile enne selle kustutamist meile. Salvestage oma skript faililaiendiga ps1( PowerShell-fail).
Kui teie skript on valmis, käivitage viiruse kiire käivitamise test, et veenduda, et see töötab korralikult.
Kasutage lihtsalt powerhell-käsku -faili argumendiga ja määrake oma skripti tee.
powerhell-file "c: \ SendEmail \ daily-email.ps1"
Kontrollige oma postkasti, et veenduda, et olete saanud selle e-kirja, kui mitte, vaadake oma skripti üle süntaksivigu. Siin on näite skripti genereeritud e-posti aadress:
Võite mängida vorminguga( näiteks teksti tühjade joonide taasesitamine), et muuta see teie seadme ekraanil ilusamaks või parem, kuid võite kasutada kolmanda osapoole programmiväljund vajalikku teavet loetavamal kujul kui Windows ei( skriptimise protsess on endiselt sama).
Kui olete stsenaariumis välja töötanud kinkid, saate selle automatiseerimiseks kasutada Windows Task Schedulerit. Avage Windowsi tööülesannete ajakava menüü Start kaudu.
Avatud ülesande ajakavaga valige Action & gt;Loo peamine ülesanne.
Nimetage see ülesanne midagi sellist nagu "Daily email script" ja klõpsake järgmist. Järgmisel kuval vali sagedus, millega soovite oma e-posti skripti käivitada, ilmselt iga päev. Seejärel valige aeg, mille jooksul skript peaks käivituma, ja vajuta järgmine.
Nüüd peaksite olema nõustaja osa "Tegevus", valige käsk "Käivita programm" ja sisestage sama skripti testimiseks sisestatud tekst, mille me sisestasime käsku Käivita.
Vajuta järgmine ja seejärel selle aknaga Jah:
Klõpsake viimast menüüd Finish ja teete oma automaatsete meilide ajakava.