Sådan oprettes og e-mailes computerstatistik automatisk

Jan 23, 2025
Cloud og Internet
UCACHED INDHOLD

Det er vigtigt at kontrollere forskellige logdata og statistikker på din server hver dag, men det bliver kedeligt. Ville det ikke være rart at modtage en enkelt e-mail med alle højdepunkterne hver dag, så du behøver ikke engang at komme på serveren for at kontrollere problemer? Denne vejledning viser dig, hvordan du konfigurerer automatiserede e-mails på Linux og Windows.

Vi vil specifikt dække dette til Ubuntu og Windows 8.1, hvor Gmail bruges som e-mailserveren, som mail sendes fra. Hvis du har en anden version af Linux eller Windows eller foretrækker at bruge en anden e-mail-tjeneste, skal instruktionerne her let kunne tilpasses.

Automatiske e-mails i Linux

Vi skal bruge to forskellige pakker til at opnå dette, ssmtp og mailutils, så installer dem begge med følgende kommando:

$ sudo apt-get install ssmtp mailutils

Når disse er installeret, skal vi foretage nogle ændringer i SSMTP-konfigurationsfilen:

$ sudo vi /etc/ssmtp/ssmtp.conf

Rediger filen med disse ændringer (det er sikkert bare at slette al teksten i filen og kopiere / indsætte disse indstillinger, hvis du vil):

# Denne adresse vil modtage e-mails, så indtast din egen e-mail her, hvis du vil modtage dem.

[email protected]

# Angiv e-mail-serveren her (lad det være, hvis du bruger Gmail).

mailhub = smtp.gmail.com: 587

# Domænenavnet, som e-mailen kommer fra.

rewriteDomain = gmail.com

# Den e-mail-adresse, som disse e-mails skal være fra.

[email protected]

# SSL / TLS-indstillinger, krævet til Gmail og de fleste andre mailservere.

UseTLS = Ja

UseSTARTTLS = Ja

# Brugernavnet og adgangskoden til din Gmail-konto.

AuthUser = brugernavn

AuthPass = adgangskode

# Tillad muligheden for at angive en anden adresse end den ovenfor.

FromLineOverride = ja

Når du er færdig med at redigere filen, vil du gerne ændre tilladelserne, da din Gmail-adgangskode er gemt i almindelig tekst.

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

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

Det er altid mere sikkert at gøre root ejeren af ​​filen, men så bliver vi nødt til at bruge sudo-kommandoen i vores script, og det vil bede os om en adgangskode og derved besejre formålet med at automatisere hele denne proces.

Hvis du bruger en delt server og er bekymret for, at din adgangskode bliver gemt i almindelig tekst og kan læses af root, skal du oprette en smidbar Gmail-konto eller bruge en e-mail-server, der ikke kræver nogen form for godkendelse i første omgang.

For at sikre, at alt er konfigureret korrekt, lad os prøve en test-e-mail:

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

"Test" findes i selve e-mailen, og emnet er "Test af mailopsætning." Tjek din e-mail for at sikre dig, at du har modtaget den.

Skrivning af et script til e-mails

Nu hvor vi er i stand til at sende e-mails fra kommandolinjen, lad os skrive et script, der sender os nogle grundlæggende oplysninger om vores system.

#! / Bin / Bash

# Tjek plads på harddisken

ekko "Harddiskplads:"> /home/geek/email.txt

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

# Angiv de brugere, der er logget ind

ekko "Brugere, der er logget ind i øjeblikket:" >> /home/geek/email.txt

hvem >> /home/geek/email.txt

# Liste over aktuelt kørende processer

ekko "Kører processer:" >> /home/geek/email.txt

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

# Send e-mailen

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

# Slet den fil, vi oprettede

rm /home/geek/email.txt

Det er klart, at du kan få meget mere dybtgående med dit script og endda gøre formateringen lidt pænere, men sådan ser output ud i vores e-mail:

Nu hvor scriptet er skrevet og testet, kan vi bruge cron til automatisk at udføre det på samme tid hver dag. I dette eksempel konfigurerer vi den e-mail, der skal sendes klokken 02:00 hver morgen, så vi kan gennemgå dataene senere på dagen.

$ crontab -e

For e-mails fra 02:00 skal du tilføje:

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

Vi har skrevet en hel artikel om crontab-filer hvis du har brug for mere hjælp til denne del.

Automatiske e-mails i Windows

Afsendelse af e-mails på kommandolinjen er mulig via PowerShell, men vi har fundet ud af, at implementering af denne funktionalitet er meget lettere med tredjepartsapps, især når du bruger Gmail. Send e-mail er et gratis program til rådighed til Windows, der gør integration med Windows Task Scheduler og Gmail til en leg. Klik på linket ovenfor for at downloade den nyeste kopi, og sørg for at få fat i den TLS-understøttede version.

Når du har downloadet SendEmail, skal du udpakke zip-filen og placere indholdet et sted, hvor du kan gemme dem, så længe du planlægger at sende automatiserede e-mails. I dette eksempel skal vi bare gemme programmet i C: \ SendEmail

Lad os teste SendEmail for at få en hurtig fornemmelse af, hvordan det fungerer. Åbn en kommandoprompt ved at skrive cmd i menuen Start eller Kør (Ctrl + R).

Når kommandoprompten er åben, skal du bruge kommandoen Change Directory til at navigere til det sted, hvor du gemte SendEmail-filerne.

cd C: \ SendEmail

Nu kan vi prøve at sende en test-e-mail med følgende kommando:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu brugernavn -xp adgangskode -u "Test e-mail-emne" -m "Dette er en test-e-mail."

Udskift naturligvis “brugernavn” og “adgangskode” med dine kontooplysninger, før du udfører kommandoen.

Her er hvad kommandoen ovenfor faktisk gør:

Send e-mail udfører programmet.

-f - fra adresse

-t - at adressere

-s - SMTP-server

-mønt - brugernavn

-xp - kontoadgangskode

-u - email emne

-m - e-mail-brødtekst

Tjek din indbakke for at sikre dig, at du har modtaget test-e-mailen, og så kan vi gå videre til at skrive et script, der sender os serveroplysninger.

Skrivning af et script til e-mails

For at få mest muligt ud af vores script skal vi skrive det til PowerShell. Åbn Windows PowerShell ISE ved at skrive powershell_ise.exe i en Kør-prompt (Ctrl + R).

På højre side af PowerShell ISE-vinduet kan du liste hver kommando, som PowerShell er i stand til at udføre. Dette skal give dig en god start på at generere de typer information, som du har brug for rapporteret. I dit script kan du også opfordre tredjepartsprogrammer til også at udføre information (dvs. SendEmail er en tredjepartsapp, men PowerShell og cmd kan bruge den til at udføre opgaver, de normalt ikke kan).

Til vores eksempler på script vil vi kontrollere den aktuelle diskbrug af C-drevet, vise de kørende processer og vise alle filer, der i øjeblikket deles ud over netværket.

# Tjek plads på harddisken

ekko "C: Drive Usage:"> C: \ SendEmail \ info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Vælg objektstørrelse, FreeSpace >> C: \ SendEmail \ info.txt

# Liste over aktuelt kørende processer

ekko "Kører processer:" >> C: \ SendEmail \ info.txt

get-process >> C: \ SendEmail \ info.txt

# Vis de filer / mapper, der aktuelt deles

ekko "SMB-delinger:" >> C: \ SendEmail \ info.txt

get-smbshare >> C: \ SendEmail \ info.txt

# Send e-mailen

skriv C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu brugernavn -xp adgangskode -u "Daglig serverinfo"

# Slet den fil, vi lavede

rm C: \ SendEmail \ info.txt

I dette script udsendes forskellige oplysninger til C: \ SendEmail \ info.txt, og derefter sendes teksten i dette dokument til os, inden det bliver slettet. Gem dit script med en ps1 filtypenavn (PowerShell-fil).

Når dit script er færdigt, skal du køre en hurtig test fra en Run-prompt for at sikre, at den fungerer korrekt.

Brug bare powershell kommando med en -fil argument, og angiv stien til dit script.

powershell -fil "c: \ SendEmail \ daily-email.ps1"

Tjek din indbakke for at sikre dig, at du har modtaget e-mailen - hvis ikke, skal du se over dit script for syntaksfejl. Sådan ser den genererede e-mail fra vores eksempler på script ud:

Du kan lege med formateringen (f.eks. Ekko tomme linjer mellem tekst) for at gøre det vist pænere på din enhed, eller endnu bedre kan du bruge et tredjepartsprogram, der sender den nødvendige information i et mere læsbart format end Windows gør ( scriptingsprocessen vil stadig være den samme).

Når du har udarbejdet kinks i dit script, kan du bruge Windows Task Scheduler til at automatisere det. Åbn Windows Task Scheduler via Start-menuen.

Når opgaveplanlæggeren er åben, skal du vælge Handling> Opret grundlæggende opgave.

Navngiv denne opgave noget som “Dagligt e-mail-script”, og klik på næste. På den næste skærm skal du vælge den hyppighed, som dit e-mail-script skal køre med, sandsynligvis dagligt. Vælg derefter det tidspunkt, du vil have scriptet til at køre, og tryk derefter på næste.

Nu skal du være i "Handling" -delen af ​​guiden, vælg "Start et program" og indtast den samme tekst, som vi indtastede i Run-prompten tidligere for at teste vores script.

Hit næste og tryk derefter på Ja i dette vindue:

Klik på Udfør i den sidste menu, og du er færdig med at planlægge dine automatiske e-mails.

.indgangsindhold .indgangsfod

Extract Random Data Automatically


Cloud og Internet - Mest populære artikler

Sådan skjuler du et Facebook-indlæg (uden at slette det)

Cloud og Internet Jul 31, 2025

Facebook har mange anvendelser. For nogle er det bare et socialt netværk, men for andre er det et stykke professionel branding. Hvis du er i sidstnævnte kategori, hjælper det med..


Sådan tilføjes et stemmefilter til din video i Snapchat

Cloud og Internet Jul 19, 2025

UCACHED INDHOLD Snapchat har altid været det sjoveste sociale netværk. Det er et sted, hvor du sender dårlige fotos uden frygt for, at din chef vil se dem. Til dette formål ha..


Sådan spejles du nemt din Android-telefons skærm på din pc med Vysor til Chrome

Cloud og Internet Jul 12, 2025

Smartphones er praktiske, men nogle gange er det mere besvær end det er værd at tage din telefon, når du allerede sidder ved en computer. Det ville være rart at gøre hvad du vi..


Sådan abonnerer du på dine foretrukne sportsholds tidsplaner i Google Kalender

Cloud og Internet Jun 3, 2025

Hvis du er noget som mig, planlægger du dybest set dit liv omkring dine yndlingssporthold (Go Bulls!). Mens jeg generelt prøver at huske, hvilke nætter mit hold spiller, er det n..


De bedste websteder til download af spil og spil online

Cloud og Internet Sep 14, 2025

Denne uge har vi en liste over sjove websteder til dig. At spille spil kan hjælpe med at lindre stress og give en pause fra arbejdet. Følgende er nogle websteder, vi fandt, der ti..


Få adgang til offline eller overbelastede websider i Firefox

Cloud og Internet May 18, 2025

Hvad gør du, når du virkelig vil have adgang til en webside kun for at finde ud af, at den enten er offline eller overbelastet fra for meget trafik? Du kan få adgang til den seneste cachel..


Se tid og dato i Chrome, når du skjuler din proceslinje

Cloud og Internet Mar 8, 2025

UCACHED INDHOLD Foretrækker du at holde din proceslinje skjult, men stadig har brug for at holde øje med, hvad klokken er? Nu kan du holde styr på tiden uden proceslinjen ved hjælp af D..


Vores kig på LinkedIn Social Connector til Outlook

Cloud og Internet Aug 28, 2025

Da de fleste af os sidder foran Outlook hele dagen, ville det ikke være rart at være i stand til også at konsolidere sociale netværkskontakter i Outlook? I dag ser vi på det nyligt annon..


Kategorier