Miten luodaan automaattisesti ja sähköpostitilastotilastot

Sisällysluettelo:

Miten luodaan automaattisesti ja sähköpostitilastotilastot
Miten luodaan automaattisesti ja sähköpostitilastotilastot

Video: Miten luodaan automaattisesti ja sähköpostitilastotilastot

Video: Miten luodaan automaattisesti ja sähköpostitilastotilastot
Video: Pelit ja pelillisyys aikamme ilmiönä - YouTube 2024, Marraskuu
Anonim
On tärkeää tarkistaa päivittäin erilaisia lokitietoja ja tilastoja palvelimellasi, mutta se kasvaa ikävältä. Eikö olisi mukavaa, että saisit yhden päivän sähköpostin kaikkiin kohokohtaisiisi, joten sinun ei tarvitse edes palvella etsiä ongelmia? Tässä oppaassa kuvataan automaattisten sähköpostiviestien määrittäminen Linuxissa ja Windowsissa.
On tärkeää tarkistaa päivittäin erilaisia lokitietoja ja tilastoja palvelimellasi, mutta se kasvaa ikävältä. Eikö olisi mukavaa, että saisit yhden päivän sähköpostin kaikkiin kohokohtaisiisi, joten sinun ei tarvitse edes palvella etsiä ongelmia? Tässä oppaassa kuvataan automaattisten sähköpostiviestien määrittäminen Linuxissa ja Windowsissa.

Erityisesti katamme tämän Ubuntun ja Windows 8.1: n kanssa, ja Gmailia käytetään sähköpostipalvelimena, josta postia lähetetään. Jos sinulla on toinen versio Linuxista tai Windowsista tai haluat käyttää jotain muuta sähköpostipalvelua, ohjeet pitäisi helposti mukauttaa.

Automaattiset sähköpostit Linuxissa

Käytämme kahta eri pakettia tämän, ssmtp: n ja postitilojen toteuttamiseen. Asenna molemmat seuraavalla komennolla:

$ sudo apt-get install ssmtp mailutils

Kun ne on asennettu, meidän on tehtävä joitain muutoksia SSMTP-määritystiedostoon:

$ sudo vi /etc/ssmtp/ssmtp.conf

Muokkaa tiedostoa näillä muutoksilla (voit vain poistaa kaikki tiedoston tekstin ja kopioida tai liittää nämä asetukset, jos haluat):

# 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

Kun olet valmis muokkaamaan tiedostoa, sinun on muutettava käyttöoikeudet, koska Gmail-salasanasi on tallennettu tekstimuodossa.

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

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

Se on aina turvallisempaa juurtua tiedoston omistajalle, mutta meidän pitäisi käyttää sudo-komentoa käsikirjassamme ja se herättäisi meille salasanan, mikä voitti tämän koko prosessin automatisoinnin.

Jos käytät jaettua palvelinta ja olet huolissasi siitä, että salasanasi on kirjoitettu tekstimuodossa ja luettavissa, voit luoda Gmail-tilin tai käyttää sähköpostipalvelinta, joka ei vaadi minkäänlaista todentamista.

Varmista, että kaikki on määritetty oikein, kokeile testiesähköpostia:

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

"Testaus" tulee olemaan sähköpostin ruudussa ja aiheena on "Sähköpostin määrittäminen". Tarkista sähköpostisi ja varmista, että olet saanut sen.

Sähköpostien komentosarjan kirjoittaminen

Nyt kun pystymme lähettämään sähköpostiviestejä komentoriviltä, kirjoitamme komentosarjan, joka lähettää meille joitain perustietoja järjestelmästämme.

#!/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

Tietenkin voit saada paljon enemmän syvällistä käsikirjoitustasi ja jopa tehdä muotoilusta hieman mukavampaa, mutta tämä on mitä tuotos näyttää sähköpostissamme:

Nyt kun komentosarja on kirjoitettu ja testattu, voimme käyttää cronia automaattisesti suorittamaan sen samaan aikaan joka päivä. Tässä esimerkissä määritämme lähetettävän sähköpostiviestin joka aamu kello 2.00, joten voimme käydä läpi tiedot myöhemmin.
Nyt kun komentosarja on kirjoitettu ja testattu, voimme käyttää cronia automaattisesti suorittamaan sen samaan aikaan joka päivä. Tässä esimerkissä määritämme lähetettävän sähköpostiviestin joka aamu kello 2.00, joten voimme käydä läpi tiedot myöhemmin.

$ crontab -e

2:00 sähköpostiisi lisää:

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

Olemme kirjoittaneet koko artikkelin crontab-tiedostoista, jos tarvitset lisäapua tämän osan kanssa.

Automaattiset sähköpostit Windowsissa

Sähköpostiviestien lähettäminen komentorivillä on mahdollista PowerShellin kautta, mutta olemme havainneet, että tämän toiminnon toteuttaminen on paljon helpompaa kolmannen osapuolen sovellusten kanssa, varsinkin kun käytät Gmailia. SendEmail on ilmainen Windows-käyttöjärjestelmä, joka tekee integroinnista Windows Task Scheduler -ohjelmaan ja Gmailiin. Napsauta yllä olevaa linkkiä ladataksesi uusimman kopion ja varmista, että tartut TLS-tukeen.

Kun olet ladannut SendEmailin, poista zip-tiedosto ja aseta sisältö johonkin, jotta voit tallentaa ne niin kauan kuin aiot lähettää automaattisia sähköpostiviestejä. Tässä esimerkissä aiomme vain tallentaa ohjelman C: SendEmailiin

Testataan SendEmail, jotta saat nopeasti tuntumaan siitä, miten se toimii. Avaa komentokehote kirjoittamalla cmd Käynnistä tai Suorita (Ctrl + R) -valikkoon.

Kun komentokehote on auki, käytä muutoshakemiston komentoa siirtymään kohtaan, johon olet tallentanut SendEmail-tiedostoja.
Kun komentokehote on auki, käytä muutoshakemiston komentoa siirtymään kohtaan, johon olet tallentanut SendEmail-tiedostoja.

cd C:SendEmail

Nyt voimme lähettää testisähköpostin lähettämällä seuraavan komennon:

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.'

Vaihda "käyttäjätunnuksesi" ja "salasana" tilisi käyttöoikeustiedostoilla ennen komennon suorittamista.

Tässä on yllä mainittu komento:

sendEmail

suorittaa ohjelman.

-f

- osoitteesta

-t

- osoitteeseen

-s

- SMTP-palvelin

-xu

- tilin käyttäjätunnus

-xp

- tilin salasana

-u

- sähköpostin aihe

-m

- sähköpostikuvan teksti

Tarkista postilaatikon, että saat testisähköpostin ja siirrymme kirjoittamaan komentosarja, joka lähettää meille palvelintietoja.

Sähköpostien komentosarjan kirjoittaminen

Jotta voimme hyödyntää parhaiten käsikirjoitamme, kirjoitamme sen PowerShellille. Avaa Windows PowerShell ISE kirjoittamalla powershell_ise.exe Run-kehotteeseen (Ctrl + R).

PowerShell ISE -ikkunan oikealla puolella voit luetella kaikki komennot, jotka PowerShell pystyy suorittamaan. Tämän pitäisi antaa sinulle hyvä alku tuottaa tietotyypit tarvitset raportoitu. Komentosarjassa voit myös soittaa kolmansien osapuolten ohjelmiin tietojen tuottamiseksi (eli SendEmail on kolmannen osapuolen sovellus, mutta PowerShell ja cmd voivat käyttää sitä tehtävien suorittamiseen, joita he eivät tavallisesti pysty).
PowerShell ISE -ikkunan oikealla puolella voit luetella kaikki komennot, jotka PowerShell pystyy suorittamaan. Tämän pitäisi antaa sinulle hyvä alku tuottaa tietotyypit tarvitset raportoitu. Komentosarjassa voit myös soittaa kolmansien osapuolten ohjelmiin tietojen tuottamiseksi (eli SendEmail on kolmannen osapuolen sovellus, mutta PowerShell ja cmd voivat käyttää sitä tehtävien suorittamiseen, joita he eivät tavallisesti pysty).
Esimerkkikirjassamme tarkistamme C-aseman nykyisen levyn käytön, näytämme käynnissä olevat prosessit ja näytämme kaikki tiedostot, jotka jakautuvat parhaillaan verkon kautta.
Esimerkkikirjassamme tarkistamme C-aseman nykyisen levyn käytön, näytämme käynnissä olevat prosessit ja näytämme kaikki tiedostot, jotka jakautuvat parhaillaan verkon kautta.

# 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

Tässä kirjoitusohjelmassa kerätään erilaisia tietoja C: SendEmail info.txt: lle ja sitten kyseisessä asiakirjassa oleva teksti lähetetään meille sähköpostitse, ennen kuin se poistetaan. Tallenna skripti ps1-tiedostopääteellä (PowerShell-tiedosto).

Kun käsikirjoitus on valmis, suorita nopea testi Run-kehotteesta varmistaaksesi, että se toimii oikein.

Käytä vain

powershell

komento a

-file

argumentti ja määritä polku komentosarjalle.

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

Tarkista postilaatikostasi, että olet saanut sähköpostiviestin - jos ei, katso käsikirjoituksesi syntaksivirheiden yli. Seuraavassa on esimerkki siitä, mitä esimerkkikirjassamme syntynyt sähköposti näyttää:
Tarkista postilaatikostasi, että olet saanut sähköpostiviestin - jos ei, katso käsikirjoituksesi syntaksivirheiden yli. Seuraavassa on esimerkki siitä, mitä esimerkkikirjassamme syntynyt sähköposti näyttää:
Voit pelata muotoilua (kuten tekstiä sisältävien tyhjien viivojen toistoa), jotta se voi näkyä laitteeseesi paremmin tai paremmin, mutta voit käyttää kolmannen osapuolen ohjelmaa, joka tuottaa tarvittavat tiedot luettavammassa muodossa kuin Windows tekee ( komentotiedosto on edelleen sama).
Voit pelata muotoilua (kuten tekstiä sisältävien tyhjien viivojen toistoa), jotta se voi näkyä laitteeseesi paremmin tai paremmin, mutta voit käyttää kolmannen osapuolen ohjelmaa, joka tuottaa tarvittavat tiedot luettavammassa muodossa kuin Windows tekee ( komentotiedosto on edelleen sama).

Kun olet selvittänyt komentojasi kynsit, voit automatisoida Windows Task Scheduler -ohjelman. Avaa Windows Task Scheduler Käynnistä-valikosta.

Kun Task Scheduler on auki, valitse Toimi> Luo perustoiminto.
Kun Task Scheduler on auki, valitse Toimi> Luo perustoiminto.
Nimeä tämä tehtävä jotain "Daily email script" ja napsauta seuraavaksi. Valitse seuraavalla näytöllä, kuinka usein sähköpostiosoitekirjasi toimii, todennäköisesti päivittäin. Valitse sitten aika, jonka haluat käsikirjoituksen toimivan, ja napsauta seuraavaksi.
Nimeä tämä tehtävä jotain "Daily email script" ja napsauta seuraavaksi. Valitse seuraavalla näytöllä, kuinka usein sähköpostiosoitekirjasi toimii, todennäköisesti päivittäin. Valitse sitten aika, jonka haluat käsikirjoituksen toimivan, ja napsauta seuraavaksi.

Nyt sinun pitäisi olla ohjatun toiminnon "Toimi" -osassa, valitse "Käynnistä ohjelma" ja kirjoita sama teksti, jonka kirjoitimme komentojonon testin aikaisempiin Run-kehotteeseen.

Suositeltava: