11Jul

Kako samodejno generirati in elektronsko statistiko računalnika

click fraud protection

Pomembno je, da vsak dan dnevno preverjate različne podatke o dnevniku in statistične podatke o vašem strežniku, vendar pa postane dolgočasno. Ali ne bi bilo lepo, da vsak dan prejmete en sam e-poštni naslov z vsemi poudarki, zato vam sploh ni treba priti na strežnik, da preverite težave? Ta priročnik vam bo pokazal, kako konfigurirati avtomatizirana e-poštna sporočila v Linuxu in Windows.

To bomo posebej pokrivali za Ubuntu in Windows 8.1, pri čemer se Gmail uporablja kot e-poštni strežnik, od katerega se pošilja pošta.Če imate drugo različico sistema Linux ali Windows ali želite raje uporabljati drugo e-poštno storitev, je treba navodila tukaj enostavno prilagoditi.

Automated Emails v Linuxu

Za dosego tega bomo uporabili dva različna paketa, ssmtp in mailutils, tako da namestite oba z naslednjim ukazom:

$ sudo apt-get namestite ssmtp mailutils

Ko so ti nameščeni, potrebujemoda naredite nekaj sprememb v konfiguracijski datoteki SSMTP:

$ sudo vi /etc/ssmtp/ ssmtp.conf

instagram viewer

Uredite datoteko s temi spremembami( varno je samo brisanje celotnega besedila v datoteki in kopiranje / prilepitev teh nastavitev, če želite):

# Ta naslov bo prejel e-poštna sporočila, zato vnesite svoj e-poštni naslov, če ga želite prejeti.

[email protected]

# Določite e-poštni strežnik tukaj( pustite, kot če uporabljate Gmail).

mailhub = smtp.gmail.com: 587

# Domensko ime, od katerega bo prišla pošta.

rewriteDomain = gmail.com

# E-poštni naslov, od katerega morajo biti te e-pošte.

[email protected] Nastavitve

# SSL / TLS, potrebne za Gmail in večino drugih poštnih strežnikov.

UseTLS = Da

UporabiSTARTTLS = Da

# Uporabniško ime in geslo za vaš Gmailov račun.

AuthUser = uporabniško ime

AuthPass = geslo

# Dovolite, da podate a od naslova, ki je drugačen od zgornjega.

FromLineOverride = da

Ko dokončate urejanje datoteke, boste morali spremeniti dovoljenja, ker je vaše Gmailovo geslo shranjeno v navadnem besedilu.

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

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

Vedno bolj varen, da bi root postal lastnik datoteke, potem bi morali v našem skriptu uporabiti ukaz sudo,nas pozove k geslu, s tem pa premagamo namen avtomatizacije tega celotnega procesa.

Če uporabljate strežnik v skupni rabi in ste zaskrbljeni, ker je vaše geslo shranjeno v navadnem besedilu in ga lahko berljivo berete, ustvarite zavrnjeni Gmailov račun ali uporabite e-poštni strežnik, ki ne zahteva nikakršne vrste preverjanja pristnosti.

Da bi se prepričalo, da je vse nastavljeno pravilno, poskusimo preizkusiti e-pošto:

$ echo "Testiranje" |pošte "Testiranje poštne nastavitve" [email protected]

"Preskušanje" bo v telesu e-pošte in predmet bo "Testiranje pošte nastavitev." Preverite svoje e-pošte in se prepričajte, da ste jo prejeli.

Pisanje skripte za e-pošto

Zdaj, ko lahko v ukazni vrstici pošljemo e-poštna sporočila, napišemo skript, ki nam bo posredoval nekaj osnovnih informacij o našem sistemu.

#!/bin/ bash

# Preverite prostor na trdem disku

echo "Prostor na trdem disku:" & gt;/home/geek/ email.txt

df-h & gt; & gt;/home/geek/ email.txt

# Seznam uporabnikov, ki so prijavljeni v

echo "Uporabniki trenutno prijavljeni:" & gt; & gt;/home/geek/ email.txt

, ki je & gt; & gt;/home/geek/ email.txt

# Seznam trenutno v teku procesov

echo "Postopki izvajanja:" & gt; & gt;/home/geek/ email.txt

ps-e & gt; & gt;/home/geek/ email.txt

# Pošljite e-pošto

mačka /home/geek/ email.txt |mail-s "Dnevne informacije o strežniku" [email protected]

# Izbrišite datoteko, ki smo jo ustvarili

rm /home/geek/ email.txt

Očitno lahko s svojim scenarijem dobite veliko bolj poglobljeno in celo naredite formatiranje malo lepše,to je tisto, kar izgleda v našem e-poštnem sporočilu:

Zdaj, ko je scenarij napisan in testiran, lahko cron samodejno izvedemo ob istem času vsak dan. V tem primeru bomo vsako jutro konfigurirali e-poštno sporočilo, ki bo vsako jutro poslano ob 2. uri, da bomo lahko podatke prebrali pozneje tistega dne.

$ crontab -e

Za 2:00 AM e-pošto dodajte:

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

Napisali smo celoten članek o datotekah crontab, če potrebujete več pomoči s tem delom.

Automated Emails v operacijskem sistemu Windows

Pošiljanje e-poštnih sporočil v ukazni vrstici je mogoče preko PowerShell-a, vendar smo ugotovili, da je izvajanje te funkcije veliko lažje pri aplikacijah tretjih oseb, še posebej pri uporabi Gmaila. SendEmail je brezplačen program, ki je na voljo za Windows, zaradi česar je integracija z načrtovalnikom opravil programa Windows in Gmailom vetrič.Kliknite zgornjo povezavo, če želite prenesti najnovejšo kopijo in poskrbite, da boste zagrabili različico, ki jo podpira TLS.

Ko ste prenesli SendEmail, izvlecite datoteko zip in dodajte vsebino nekje, kamor jih lahko shranite, dokler nameravate pošiljati samodejna e-poštna sporočila. V tem primeru bomo program shranili samo v C: \ SendEmail

Preizkusimo SendEmail, da hitro čutimo, kako deluje. Odprite ukazni poziv tako, da v meniju Start ali Run( Ctrl + R) vnesete cmd.

Z odprlim ukaznim pozivom uporabite ukaz za spreminjanje imenikov, da se pomaknete do mesta, kamor shranite datoteke SendEmail.

cd C: \ SendEmail

Zdaj lahko poskusimo poslati preskusno e-pošto z naslednjim ukazom:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu uporabniško ime -xpgeslo -u "Preizkusni e-poštni naslov" -m "To je preskusni e-poštni naslov."

Očitno nadomestite "uporabniško ime" in "geslo" s svojimi poverilnicami računa pred izvedbo ukaza.

Tukaj je tisto, kar zgornji ukaz dejansko počne:

sendEmail izvaja program.

-f - iz naslova

-t - za naslov

-s - SMTP strežnik

-xu - uporabniško ime računov

-xp - geslo za račun

-u - zadevo za e-pošto

-m - email body text

Preverite mapo »Prejeto«, da se prepričateste prejeli preizkusni e-poštni naslov, nato pa lahko nadaljujemo s pisanjem skripta, ki nam bo poslal podatke o strežniku.

Pisanje skripte za e-pošto

Če želite kar najbolje izkoristiti naš skript, ga bomo napisali za PowerShell. Odprite Windows PowerShell ISE s tipkanjem powershell_ise.exe v pozivni poziv( Ctrl + R).

Na desni strani okna PowerShell ISE lahko navedete vse ukaze, ki jih PowerShell lahko izvaja. To bi vam moralo dati dober začetek pri ustvarjanju vrst informacij, ki jih morate prijaviti. V vašem skriptu lahko prav tako pokličete tudi programe tretjih oseb, da lahko tudi prenašajo informacije( tj. SendEmail je tretja stran, vendar jo lahko PowerShell in cmd uporabita za opravljanje nalog, ki jih običajno ne morejo).

V našem scenariju primera bomo preverili trenutno porabo diska pogona C, prikazali trenutno delujoče procese in prikazali vse datoteke, ki so trenutno v skupni rabi v omrežju.

# Preverite prostor na trdem disku

echo "C: Uporaba pogona:" & gt;C: \ Pošlji pošto \ info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" |Izberi velikost predmeta, FreeSpace & gt; & gt;C: \ SendEmail \ info.txt

# Seznam trenutno v teku procesov

echo "Postopki izvajanja:" & gt; & gt;C: \ Pošlji pošto \ info.txt

get-process & gt; & gt;C: \ SendEmail \ info.txt

# Seznam datotek / map, ki se trenutno delijo

echo "Delnice SMB:" & gt; & gt;C: \ Pošlji pošto \ info.txt

get-smbshare & gt; & gt;C: \ SendEmail \ info.txt

# Pošlji e-pošto

tip C: \ SendEmail \ info.txt |C: \ Pošlji pošto \ pošljiEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu uporabniško ime -xp geslo -u "Dnevni podatki o strežniku"

# Izbrišite datoteko, ki smo jo naredili

rm C: \ SendEmail \ info.txt

V tem skriptu se v C: \ SendEmail \ info.txt izpiśejo razlićne informacije, nato pa se besedilo v tem dokumentu poślje nam, preden se izbriśe. Shranite svoj skript z razširitvijo datoteke ps1( datoteka PowerShell).

Ko je vaš skript končan, zaženite hiter test iz ukaza Run, da se prepričate, ali deluje pravilno.

Uporabite ukaz powershell z argumentom -file in določite pot do vašega skripta.

powerhell -file "c: \ SendEmail \ daily-email.ps1"

Preverite svojo mapo »Prejeto« in se prepričajte, da ste prejeli e-poštno sporočilo - če ne, poglejte po skripti za sintezne napake. Tukaj je tisto, kar je ustvarjeno e-pošto iz našega primernega skripta:

Lahko se predvajate z oblikovanjem( npr. Ponovitvijo praznih vrstic med besedilom), da bi se v napravi lepše prikazoval, ali še bolje, lahko uporabite program tretje osebe, ki boizpisati potrebne informacije v bolj berljivem formatu kot Windows( postopek skriptiranja bo še vedno enak).

Ko ste v skriptu izdelali kinks, lahko s programom Windows Task Scheduler za avtomatizacijo. Odprite razporejevalnik opravil programa Windows v meniju Start.

Ko je načrtovalnik opravil odprt, izberite Action & gt;Ustvari osnovno nalogo.

To nalogo imenujte kot "Dnevni skript za e-pošto" in kliknite Next. Na naslednjem zaslonu izberite frekvenco, s katero želite, da se vaš e-poštni skript izvaja, verjetno vsak dan. Nato izberite čas, v katerem želite, da se scenarij zažene, in pritisnite naslednji.

Zdaj bi morali biti v delu "čarovnika" čarovnika, izberite "Zaženi program" in vnesite isto besedilo, ki smo ga prej vnesli v pozivni poziv, da preizkusimo naš skript.

V naslednjem oknu kliknite Next in nato pritisnite Yes:

V zadnjem meniju kliknite Finish in opravili ste razporejanje samodejnih e-poštnih sporočil.