Mājas lapa » » Kā automātiski ģenerēt un nosūtīt datoru statistiku

    Kā automātiski ģenerēt un nosūtīt datoru statistiku

    Ir svarīgi katru dienu pārbaudīt dažādus žurnāla datus un statistiku par serveri, bet tas kļūst garlaicīgs. Vai nebūtu jauki saņemt vienu e-pastu ar visiem svarīgākajiem notikumiem katru dienu, tāpēc jums pat nav nepieciešams nokļūt serverī, lai pārbaudītu problēmas? Šī rokasgrāmata parādīs, kā konfigurēt automatizētus e-pastus uz Linux un Windows.

    Mēs to īpaši sedzam Ubuntu un Windows 8.1, jo Gmail tiek izmantots kā e-pasta serveris, no kura tiek sūtīts pasts. Ja jums ir cita Linux vai Windows versija, vai arī vēlaties izmantot kādu citu e-pasta pakalpojumu, šajā instrukcijā jābūt viegli pielāgojamām.

    Automatizētie e-pasta ziņojumi Linux

    Lai to paveiktu, mēs izmantosim divas dažādas paketes, ssmtp un mailutils, tāpēc instalējiet abas tās ar šādu komandu:

    $ sudo apt-get instalēt ssmtp mailutils

    Kad tās ir instalētas, ir jāveic dažas izmaiņas SSMTP konfigurācijas failā:

    $ sudo vi /etc/ssmtp/ssmtp.conf

    Rediģējiet failu ar šīm izmaiņām (ir droši izdzēst visu failu failā un kopēt / ielīmēt šos iestatījumus, ja vēlaties):

    # Šī adrese saņems e-pasta ziņojumus, tādēļ, ja vēlaties tos saņemt, ievadiet savu e-pastu.

    [email protected]

    # Norādiet e-pasta serveri šeit (atstājiet, ja lietojat Gmail).

    mailhub = smtp.gmail.com: 587

    # Domēna vārds, no kura tiks sūtīts pasts.

    rewriteDomain = gmail.com

    # E-pasta adrese, kurai jābūt no šīm e-pasta ziņām.

    [email protected]

    # SSL / TLS iestatījumi, kas nepieciešami Gmail un vairumam citu pasta serveru.

    UseTLS = Jā

    UseSTARTTLS = Jā

    # Jūsu Gmail konta lietotājvārds un parole.

    AuthUser = lietotājvārds

    AuthPass = parole

    # Ļaujiet noteikt citu adresi, nevis iepriekš minēto.

    NoLineOverride = jā

    Kad esat pabeidzis faila rediģēšanu, vēlaties mainīt atļaujas, jo jūsu Gmail parole tiek saglabāta vienkāršā tekstā.

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

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

    Tas vienmēr ir drošāks, lai izveidotu faila īpašnieku, bet tad mums būtu jāizmanto sudo komanda mūsu skriptos, un tas liks mums parole, tādējādi pārvarot šī procesa automatizācijas mērķi..

    Ja izmantojat kopīgu serveri un esat noraizējies par to, ka parole tiek saglabāta vienkāršā tekstā un ir nolasāma pēc root, izveidojiet izsmidzinātu Gmail kontu vai izmantojiet e-pasta serveri, kuram nav nepieciešama nekāda veida autentifikācija..

    Lai pārliecinātos, ka viss ir pareizi konfigurēts, izmēģināsim testa e-pastu:

    $ echo "Testēšana" | mail -s "Pasta iestatīšanas pārbaude" lietotājvā[email protected]

    “Testēšana” būs e-pasta ziņojumā, un tēma būs “Pasta iestatīšanas pārbaude”. Pārbaudiet savu e-pastu, lai pārliecinātos, ka esat to saņēmis.

    Rakstot skriptu e-pastiem

    Tagad, kad mēs varam sūtīt e-pastus no komandrindas, rakstīsim skriptu, kas mums nosūtīs pamatinformāciju par mūsu sistēmu.

    #! / bin / bash

    # Pārbaudiet cietā diska vietu

    atbalss "Cietā diska vieta:"> /home/geek/email.txt

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

    # Uzskaitiet lietotājus, kas ir pieteicies

    echo "Lietotāji šobrīd ir pieteicies:" >> /home/geek/email.txt

    kas >> /home/geek/email.txt

    # Uzskaitiet pašlaik darbojošos procesus

    echo "Running process:" >> /home/geek/email.txt

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

    # Sūtīt e-pastu

    kaķis / home/geek/email.txt | mail -s "Dienas servera informācija" lietotājvā[email protected]

    # Dzēsiet izveidoto failu

    rm /home/geek/email.txt

    Acīmredzot jūs varat iegūt daudz padziļinātu skriptu un pat padarīt formatējumu mazliet skaistāku, bet tas ir tas, kā produkcija izskatās mūsu e-pastā:

    Tagad, kad skripts ir rakstīts un pārbaudīts, mēs varam izmantot cron, lai to automātiski izpildītu tajā pašā laikā katru dienu. Šajā piemērā mēs konfigurēsim e-pasta ziņojumus, kas tiks nosūtīti katru rītu plkst. 2:00, lai mēs varētu veikt datus vēlāk šajā dienā.

    $ crontab -e

    2:00 AM e-pastiem pievienojiet:

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

    Ja jums ir nepieciešama papildu palīdzība saistībā ar šo daļu, mēs esam rakstījuši visu rakstu par crontab failiem.

    Automatizētie e-pasta ziņojumi sistēmā Windows

    E-pasta ziņu sūtīšana komandrindā ir iespējama, izmantojot PowerShell, bet mēs esam noskaidrojuši, ka šīs funkcionalitātes ieviešana ir daudz vieglāka ar trešo pušu lietotnēm, īpaši, ja izmantojat Gmail. SendEmail ir bezmaksas programma, kas pieejama sistēmai Windows, kas padara integrāciju ar Windows uzdevumu plānotāju un Gmail. Noklikšķiniet uz augstāk minētās saites, lai lejupielādētu jaunāko kopiju, un pārliecinieties, ka jūs saņemat TLS atbalstīto versiju.

    Kad esat lejupielādējis SendEmail, noņemiet zip failu un ievietojiet saturu kaut kur, ko jūs varat glabāt, kamēr plānojat nosūtīt automatizētus e-pastus. Šajā piemērā mēs tikai gatavojamies saglabāt programmu C: SendEmail

    Pārbaudīsim SendEmail, lai iegūtu ātru sajūtu, kā tā darbojas. Atveriet komandu uzvedni, ievadot cmd izvēlnē Sākt vai Palaist (Ctrl + R).

    Atverot komandu uzvedni, izmantojiet izmaiņu direktorijas komandu, lai pārvietotos uz vietu, kur saglabājāt SendEmail failus.

    cD C: E-pasts

    Tagad mēs varam mēģināt nosūtīt testa e-pastu ar šādu komandu:

    sendEmail -f lietotājvā[email protected] -t lietotājvā[email protected] -s smtp.gmail.com:587 -xu lietotājvārds -xp parole -u "Pārbaudīt e-pasta tēmu" -m "Šis ir testa e-pasts."

    Protams, pirms komandas izpildes nomainiet vārdu “lietotājvārds” un “parole” ar konta akreditācijas datiem.

    Lūk, kāda ir iepriekš minētā komanda:

    sūtīt e-pastu izpilda programmu.

    -f - no adreses

    -t - uz adresi

    -s - SMTP serveris

    -xu - konta lietotājvārds

    -xp - konta parole

    -u - e-pasta tēmu

    -m - e-pasta teksta teksts

    Pārbaudiet iesūtni, lai pārliecinātos, ka esat saņēmis testa e-pastu, un pēc tam mēs varam pāriet uz rakstīt skriptu, kas nosūtīs mums servera informāciju.

    Rakstot skriptu e-pastiem

    Lai iegūtu maksimālu labumu no mūsu skripta, mēs to rakstīsim PowerShell. Atveriet Windows PowerShell ISE, ierakstot komandu powershell_ise.exe uz komandu Run (Ctrl + R).

    PowerShell ISE loga labajā pusē varat uzskaitīt katru komandu, ko PowerShell spēj izpildīt. Tam jāsniedz labs sākums, lai radītu nepieciešamo informāciju, kas jums jāziņo. Skriptos varat arī zvanīt uz trešo pušu programmām, lai izvadītu arī informāciju (t.i. SendEmail ir trešās puses lietojumprogramma, bet PowerShell un cmd var to izmantot, lai veiktu uzdevumus, ko viņi parasti nevar veikt).

    Mūsu piemēru skriptam mēs pārbaudīsim C diska pašreizējo disku izmantošanu, parādīsim pašreizējos procesus un parādīsim visus failus, kas pašlaik tiek dalīti tīklā.

    # Pārbaudiet cietā diska vietu

    echo "C: diska izmantošana:"> C: e-pasta info.txt

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

    # Uzskaitiet pašreiz darbotos procesus

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

    get-process >> C: SendEmail info.txt

    # Uzskaitiet pašreiz koplietojamos failus / mapes

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

    get-smbshare >> C: E-pasts info.txt

    # Sūtīt e-pastu

    tips C: SendEmail info.txt | C: Nosūtīt e-pastu e-pasts -f lietotājvā[email protected] -t lietotājvā[email protected] -s smtp.gmail.com:587 -xu lietotājvārds -xp parole -u "Dienas servera informācija"

    # Dzēsiet veikto failu

    rm C: E-pasts info.txt

    Šajā skriptā tiek izvadīta C informācija: SendEmail info.txt, un tad šī dokumenta teksts mums tiek nosūtīts pa e-pastu, pirms tas tiek izdzēsts. Saglabājiet skriptu ar faila paplašinājumu ps1 (PowerShell fails).

    Kad jūsu skripts ir pabeigts, palaidiet ātru pārbaudi no Run uzvednes, lai pārliecinātos, ka tas darbojas pareizi.

    Vienkārši izmantojiet powerhell komandu ar a -failu argumentu un norādiet ceļu uz jūsu skriptu.

    powershell -file "c: e-pasts \ t

    Pārbaudiet iesūtni, lai pārliecinātos, ka esat saņēmis e-pasta ziņojumu - ja ne, skatiet savu skriptu, lai iegūtu sintakses kļūdas. Lūk, kāda ir ģenerētā e-pasta vēstule no mūsu parauga skripta:

    Jūs varat spēlēt apkārt ar formatējumu (piemēram, atkārtojot tukšas rindas starp tekstu), lai tas būtu labāks jūsu ierīcē vai vēl labāk, ja jūs varat izmantot trešās puses programmu, kas izdrukās nepieciešamo informāciju lasāmākā formātā nekā Windows ( skriptu process joprojām būs vienāds).

    Kad esat izveidojis skripta kinks, varat izmantot Windows uzdevumu plānotāju, lai to automatizētu. Atveriet Windows uzdevumu plānotāju, izmantojot izvēlni Sākt.

    Atverot uzdevumu plānotāju, izvēlieties Darbība> Izveidot pamatuzdevumu.

    Nosaukiet šo uzdevumu kā “Ikdienas e-pasta skriptu” un noklikšķiniet uz Tālāk. Nākamajā ekrānā atlasiet biežumu, ar kuru vēlaties, lai jūsu e-pasta skripts darbotos, iespējams, katru dienu. Pēc tam izvēlieties laiku, kuru vēlaties skriptam palaist, un nospiediet nākamo.

    Tagad jums vajadzētu būt vedņa “Rīcības” daļā, atlasiet “Sākt programmu” un ievadīt to pašu tekstu, ko ievadījām uzvednē “Veikt ātrāk”, lai pārbaudītu mūsu skriptu.

    Nospiediet nākamo un pēc tam noklikšķiniet uz Jā šajā logā:

    Pēdējā izvēlnē noklikšķiniet uz Pabeigt, un esat pabeidzis savu automātisko e-pastu plānošanu.