Kuidas arvuti statistikat automaatselt genereerida ja saata

Sisukord:

Kuidas arvuti statistikat automaatselt genereerida ja saata
Kuidas arvuti statistikat automaatselt genereerida ja saata

Video: Kuidas arvuti statistikat automaatselt genereerida ja saata

Video: Kuidas arvuti statistikat automaatselt genereerida ja saata
Video: 𝗝𝗢𝗜 🔮 𝟭𝟬 𝗡𝗢𝗜𝗘𝗠𝗕𝗥𝗜𝗘 🍀 𝗧𝗔𝗥𝗢𝗧 𝗛𝗢𝗥𝗢𝗦𝗖𝗢𝗣 𝗭𝗜𝗟𝗡𝗜𝗖 𝗣𝗘 𝗭𝗢𝗗𝗜𝗜 ♈️♉️♊️♋️♌️♍️♎️♏️♐️♑️♒️♓️ - YouTube 2024, Mai
Anonim
Oluline on kontrollida iga päev oma serveris olevaid 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.
Oluline on kontrollida iga päev oma serveris olevaid 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

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

$ sudo apt-get install ssmtp mailutils

Kui need on installitud, peame SSMTP-i konfiguratsioonifaili muutma:

$ sudo vi /etc/ssmtp/ssmtp.conf

Muutke faili nende muudatustega (turvaline on lihtsalt kustutada kogu faili tekst ja kopeerida / kleepida need sätted, kui soovite):

# This address will receive the emails, so enter your own email here if you want to receive them.

[email protected]

# Specify the email server here (leave as is if you’re using Gmail).

mailhub=smtp.gmail.com:587

# The domain name that the mail will come from.

rewriteDomain=gmail.com

# The email address that these emails should be from.

[email protected]

# SSL/TLS settings, required for Gmail and most other mail servers.

UseTLS=Yes

UseSTARTTLS=Yes

# The username and password to your Gmail account.

AuthUser=username

AuthPass=password

# Allow the ability to specify a from address different than the one above.

FromLineOverride=yes

Kui olete faili redigeerinud, soovite muuta õigusi, kuna teie Gmaili parool salvestatakse tavalises tekstis.

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

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

Faile omaniku administraatori loomine on alati turvalisem, kuid siis peaksime kasutama oma skripti sudo käsklust ja see viiks meid parooli kätte, seades sellega üle kogu selle protsessi automatiseerimise eesmärgi.

Kui kasutate jagatud serverit ja olete mures selle pärast, et parool on salvestatud tavalises tekstis ja seda saab lugeda administraatoriga, looge kasutatav Gmaili konto või kasutage e-posti serverit, mis ei vaja mingit tüüpi autentimist.

Veendumaks, et kõik oleks õigesti konfigureeritud, proovime proovilehte:

$ echo 'Testing' | mail -s 'Testing mail setup' [email protected]

"Katsetamine" toimub e-kirja keres ja teemaks on "Posti seadistamise testimine". Kontrollige oma e-posti aadressi veendumaks, et olete selle saanud.

Scripti kirjutamine e-kirjadele

Nüüd, kui me saame käsurealt e-kirju saata, kirjutame skripti, mis saadab meile meie süsteemi põhiteabe.

#!/bin/bash

# Check hard drive space

echo 'Hard drive space:' > /home/geek/email.txt

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

# List the users that are logged in

echo 'Users currently logged in:' >> /home/geek/email.txt

who >> /home/geek/email.txt

# List currently running processes

echo 'Running processes:' >> /home/geek/email.txt

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

# Send the email

cat /home/geek/email.txt | mail -s 'Daily server information' [email protected]

# Delete the file we created

rm /home/geek/email.txt

Ilmselt võite oma skriptiga veelgi sügavamalt ette võtta ja isegi muuta vorminduse natuke nalja, kuid see 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, et seda iga päev korraga täita. Selles näites konfigureerime meili, mis saadetakse igal hommikul kell 2:00, et me saaksime sellel päeval andmeid hiljem läbi vaadata.
Nüüd, kui skript on kirjutatud ja testitud, võime kasutada croni, et seda iga päev korraga täita. 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

Kell 2:00 e-kirjad lisage:

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

Oleme kirjutanud kogu artikli crontab-failide kohta, kui vajate selle osaga rohkem abi.

Automatiseeritud meilid Windowsis

Kirju 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 Allalaadinud SendEmaili, ekstraktige 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

Kontrollime SendEmaili, et saada kiiret tunde, kuidas see toimib. Avage käsuviip, sisestage cmd menüüsse Start või Run (Ctrl + R).

Kui käsuriba on avatud, kasutage käsku Change directory, et liikuda sellele, kuhu saatsid Sendmaili faile.
Kui käsuriba on avatud, kasutage käsku Change directory, et liikuda sellele, kuhu saatsid Sendmaili faile.

cd C:SendEmail

Nüüd saame proovida saata katsemaili järgmise käsuga:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u 'Test email subject' -m 'This is a test email.'

Ilmselt asendage "kasutajanimi" ja "parool" oma konto mandaadiga enne käsu täitmist.

Siin on käsk eespool tegelikult:

sendEmail

käivitab programmi.

-f

- aadressilt

-t

- addresseerima

-s

- SMTP server

-xu

- konto kasutajanimi

-xp

- konto parool

-u

- email teemat

-m

- e-kirja tekst

Kontrollige oma postkasti, et veenduge, et olete saanud test-e-kirja, ja siis saame edasi liikuda, et kirjutada skript, mis saadab meile meile serveriteabe.

Scripti kirjutamine e-kirjadele

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 võite 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).
PowerShell ISE akna paremas servas võite 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 näite skripti puhul kontrollime C draivi praegust kettakasutust, näitame käimasolevaid tööprotsesse ja näeme kõiki faile, mida praegu võrgu kaudu jagatakse.
Meie näite skripti puhul kontrollime C draivi praegust kettakasutust, näitame käimasolevaid tööprotsesse ja näeme kõiki faile, mida praegu võrgu kaudu jagatakse.

# Check hard drive space

echo 'C: Drive Usage:' > C:SendEmailinfo.txt

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

# List currently running processes

echo 'Running processes:' >> C:SendEmailinfo.txt

get-process >> C:SendEmailinfo.txt

# List the files/folders currently being shared

echo 'SMB shares:' >> C:SendEmailinfo.txt

get-smbshare >> C:SendEmailinfo.txt

# Send the email

type C:SendEmailinfo.txt | C:SendEmailsendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u 'Daily server info'

# Delete the file we made

rm C:SendEmailinfo.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 kiirkäsk Run käsu abil, et veenduda, et see töötab korralikult.

Kasutage lihtsalt

powershell

käsk a

-file

argument ja määrake oma skripti tee.

powershell -file 'c:SendEmaildaily-email.ps1'

Kontrollige oma postkasti, et veenduge, et olete saanud selle e-kirja, kui mitte, vaadake oma skripti üle süntaksivigu. Järgnevalt näeme välja näiteskripti loodud meil:
Kontrollige oma postkasti, et veenduge, et olete saanud selle e-kirja, kui mitte, vaadake oma skripti üle süntaksivigu. Järgnevalt näeme välja näiteskripti loodud meil:
Võite mängida ümber vormindamise (näiteks teksti vahel tühjade joonide taasesitamine), et see oleks teie seadmel kuvarile ilusam või parem, kuid võite kasutada kolmanda osapoole programmi, mis annab vajalikku teavet loetavamal kujul kui Windows ( skriptimisprotsess on endiselt sama).
Võite mängida ümber vormindamise (näiteks teksti vahel tühjade joonide taasesitamine), et see oleks teie seadmel kuvarile ilusam või parem, kuid võite kasutada kolmanda osapoole programmi, mis annab vajalikku teavet loetavamal kujul kui Windows ( skriptimisprotsess on endiselt sama).

Kui olete stsenaariumi kinkide välja töötanud, saate selle automatiseerimiseks kasutada Windows Task Schedulerit. Avage Windowsi tööülesannete ajakava menüü Start kaudu.

Kui tööülesannete loendur on avatud, valige Action> Create Basic Task.
Kui tööülesannete loendur on avatud, valige Action> Create Basic Task.
Nimetage see ülesanne näiteks "Igapäevane e-posti skript" 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.
Nimetage see ülesanne näiteks "Igapäevane e-posti skript" 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 "Programmi käivitamine" ja sisestage sama skripti testimiseks sisestatud tekst, mille me sisestasime Run käsureale.

Soovitan: