11Jul

Πώς να δημιουργήσετε και να δημιουργήσετε ηλεκτρονικά στατιστικά στοιχεία ηλεκτρονικού υπολογιστή

Είναι σημαντικό να ελέγχετε καθημερινά διάφορα δεδομένα και στατιστικά στοιχεία καταγραφής του διακομιστή σας, αλλά μεγαλώνει να είναι κουραστικό.Δεν θα ήταν ωραίο να λαμβάνετε ένα email με όλα τα highlights κάθε μέρα, ώστε να μην χρειαστεί καν να μπείτε στο διακομιστή για να ελέγξετε τα προβλήματα;Αυτός ο οδηγός θα σας δείξει πώς να διαμορφώσετε τα αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου σε Linux και Windows.

Θα το καλύψουμε ειδικά για το Ubuntu και τα Windows 8.1, με το Gmail να χρησιμοποιείται ως ο διακομιστής ηλεκτρονικού ταχυδρομείου από τον οποίο αποστέλλεται το μήνυμα.Αν έχετε άλλη έκδοση του Linux ή των Windows ή προτιμάτε να χρησιμοποιήσετε κάποια άλλη υπηρεσία ηλεκτρονικού ταχυδρομείου, οι οδηγίες θα πρέπει να προσαρμόζονται εύκολα.

Αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου στο Linux

Θα χρησιμοποιήσουμε δύο διαφορετικά πακέτα για να επιτύχουμε αυτό το ssmtp και mailutils, γι 'αυτό εγκαταστήστε και τα δύο με την ακόλουθη εντολή:

$ sudo apt-get install ssmtp mailutils

Μόλις εγκατασταθούν,για να κάνετε κάποιες αλλαγές στο αρχείο ρυθμίσεων SSMTP:

$ sudo vi /etc/ssmtp/ ssmtp.conf

Επεξεργαστείτε το αρχείο με αυτές τις αλλαγές( είναι ασφαλές να διαγράψετε απλώς όλο το κείμενο του αρχείου και να αντιγράψετε / επικολλήσετε αυτές τις ρυθμίσεις, αν θέλετε):

# Αυτή η διεύθυνση θα λάβει τα μηνύματα ηλεκτρονικού ταχυδρομείου, οπότε εισάγετε το δικό σας email εδώ αν θέλετε να τα λάβετε.

[email protected]

# Καθορίστε εδώ τον διακομιστή ηλεκτρονικού ταχυδρομείου( αφήστε όπως είναι αν χρησιμοποιείτε το Gmail).

mailhub = smtp.gmail.com: 587

# Το όνομα τομέα από το οποίο θα προέρχεται το μήνυμα.

rewriteDomain = gmail.com

# Η διεύθυνση ηλεκτρονικού ταχυδρομείου που πρέπει να προέρχονται από αυτά τα μηνύματα ηλεκτρονικού ταχυδρομείου.

[email protected]

# SSL / TLS ρυθμίσεις, που απαιτούνται για το Gmail και τους περισσότερους άλλους διακομιστές αλληλογραφίας.

UseTLS = Ναι

ΧρήσηSTARTTLS = Ναι

# Το όνομα χρήστη και ο κωδικός πρόσβασης στο λογαριασμό σας στο Gmail.

AuthUser = όνομα χρήστη

AuthPass = κωδικός πρόσβασης

# Να επιτρέπεται η δυνατότητα καθορισμού μιας διεύθυνσης διαφορετικής από την παραπάνω.

FromLineOverride = ναι

Όταν ολοκληρώσετε την επεξεργασία του αρχείου, θα θέλετε να αλλάξετε τα δικαιώματα, αφού ο κωδικός πρόσβασής σας στο Gmail είναι αποθηκευμένος σε απλό κείμενο.

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

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

Είναι πάντα πιο ασφαλές να κάνουμε root τον ιδιοκτήτη του αρχείου, αλλά τότε θα έπρεπε να χρησιμοποιήσουμε την εντολή sudo στη δέσμη ενεργειών μας και θαμας ζητάει έναν κωδικό πρόσβασης, καταργώντας έτσι τον σκοπό της αυτοματοποίησης αυτής της όλης διαδικασίας.

Εάν χρησιμοποιείτε έναν κοινόχρηστο διακομιστή και ανησυχείτε για τον αποθηκευμένο κωδικό πρόσβασης σε κείμενο και ευανάγνωστο από τον root, δημιουργήστε έναν απομακρυσμένο λογαριασμό Gmail ή χρησιμοποιήστε έναν διακομιστή ηλεκτρονικού ταχυδρομείου που δεν απαιτεί κανενός είδους έλεγχο ταυτότητας.

Για να βεβαιωθείτε ότι όλα έχουν ρυθμιστεί σωστά, ας δοκιμάσετε ένα δοκιμαστικό μήνυμα ηλεκτρονικού ταχυδρομείου:

$ echo "Testing" |mail "Δοκιμή εγκατάστασης αλληλογραφίας" [email protected]

Το "Testing" θα βρίσκεται στο σώμα του email και το θέμα θα είναι "Δοκιμή ρύθμισης αλληλογραφίας". Ελέγξτε το email σας για να βεβαιωθείτε ότι το λάβατε.

Γράφοντας ένα σενάριο για τα μηνύματα ηλεκτρονικού ταχυδρομείου

Τώρα που μπορούμε να στείλουμε μηνύματα ηλεκτρονικού ταχυδρομείου από τη γραμμή εντολών, ας γράψουμε ένα σενάριο που θα μας στείλει κάποιες βασικές πληροφορίες για το σύστημά μας.

#!/bin/ bash

# Έλεγχος χώρου στο σκληρό δίσκο

echo "Χώρος στο σκληρό δίσκο:" & gt;/home/geek/ email.txt

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

# Καταχωρίστε τους χρήστες που είναι συνδεδεμένοι

echo "Χρήστες συνδεδεμένοι αυτήν τη στιγμή:" & gt; & gt;/home/geek/ email.txt

που & gt; & gt;/home/geek/ email.txt

# Λίστα τρέχουσες διεργασίες

echo "Διαδικασίες εκτέλεσης:" & gt; & gt;/home/geek/ email.txt

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

# Στείλτε το μήνυμα ηλεκτρονικού ταχυδρομείου

cat /home/geek/ email.txt |mail -s "Καθημερινές πληροφορίες διακομιστή" [email protected]

# Διαγράψτε το αρχείο που δημιουργήσαμε

rm /home/geek/ email.txt

Προφανώς μπορείτε να πάρετε πολύ περισσότερο σε βάθος με το σενάριό σας και ακόμη και να κάνετε τη μορφοποίηση λίγο πιο όμορφη, αλλάαυτό είναι το αποτέλεσμα της εμφάνισης στο email μας:

Τώρα που το σενάριο είναι γραμμένο και δοκιμασμένο, μπορούμε να χρησιμοποιήσουμε το cron για να το εκτελέσουμε αυτόματα την ίδια ώρα κάθε μέρα.Σε αυτό το παράδειγμα, θα ρυθμίσουμε το μήνυμα ηλεκτρονικού ταχυδρομείου που θα αποσταλεί στις 2:00 πμ κάθε πρωί, ώστε να μπορέσουμε να περάσουμε τα δεδομένα αργότερα εκείνη την ημέρα.

$ crontab -e

Για τα emails 2:00 AM, προσθέστε:

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

Έχουμε γράψει ένα ολόκληρο άρθρο στα αρχεία crontab εάν χρειάζεστε περισσότερη βοήθεια με αυτό το μέρος.

Αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου στα Windows

Η αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου στη γραμμή εντολών είναι δυνατή μέσω του PowerShell, αλλά διαπιστώσαμε ότι η εφαρμογή αυτής της λειτουργίας είναι πολύ πιο εύκολη με εφαρμογές τρίτου μέρους, ειδικά όταν χρησιμοποιείτε το Gmail.Το SendEmail είναι ένα δωρεάν πρόγραμμα διαθέσιμο για Windows που καθιστά την ενσωμάτωση με τον Windows Task Scheduler και το Gmail αύριο.Κάντε κλικ στον παραπάνω σύνδεσμο για να κάνετε λήψη του τελευταίου αντιγράφου και βεβαιωθείτε ότι έχετε τραβήξει την έκδοση που υποστηρίζεται από TLS.

Μόλις κατεβάσετε το SendEmail, εξαγάγετε το αρχείο zip και τοποθετήστε τα περιεχόμενα κάπου που μπορείτε να τα αποθηκεύσετε για όσο διάστημα σκοπεύετε να στείλετε αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου.Σε αυτό το παράδειγμα, πρόκειται απλώς να αποθηκεύσουμε το πρόγραμμα στο C: \ SendEmail

Ας δοκιμάσουμε το SendEmail για να πάρετε μια γρήγορη αίσθηση για το πώς λειτουργεί.Ανοίξτε μια γραμμή εντολών πληκτρολογώντας cmd στο μενού Έναρξη ή Εκτέλεση( Ctrl + R).

Με την γραμμή εντολών ανοικτή, χρησιμοποιήστε την εντολή αλλαγής καταλόγου για να μεταβείτε στο σημείο αποθήκευσης των αρχείων SendEmail.

cd C: \ SendEmail

Τώρα μπορούμε να προσπαθήσουμε να στείλουμε ένα δοκιμαστικό email με την ακόλουθη εντολή:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xpκωδικός πρόσβασης -u "Δοκιμή θέμα ηλεκτρονικού ταχυδρομείου" -m "Αυτό είναι ένα δοκιμαστικό ηλεκτρονικό ταχυδρομείο."

Προφανώς, αντικαταστήστε το όνομα χρήστη και τον κωδικό πρόσβασης με τα διαπιστευτήρια του λογαριασμού σας πριν εκτελέσετε την εντολή.

Εδώ είναι τι ακριβώς κάνει η παραπάνω εντολή:

sendEmail εκτελεί το πρόγραμμα.

-f - από τη διεύθυνση

-t - για τη διεύθυνση

-s - διακομιστή SMTP

-xu - όνομα χρήστη λογαριασμού

-xp - κωδικός πρόσβασης

-u - θέμα ηλεκτρονικού ταχυδρομείου

-m - κείμενο σώματος ηλεκτρονικού ταχυδρομείου

Ελέγξτε τα εισερχόμενά σας για να βεβαιωθείτελάβατε το μήνυμα ηλεκτρονικού ταχυδρομείου δοκιμής και στη συνέχεια μπορούμε να προχωρήσουμε στη σύνταξη ενός σεναρίου που θα μας στείλει πληροφορίες διακομιστή.

Γράφοντας ένα σενάριο για τα μηνύματα ηλεκτρονικού ταχυδρομείου

Για να αξιοποιήσουμε στο έπακρο τη δέσμη ενεργειών μας, πρόκειται να την γράψουμε για το PowerShell.Ανοίξτε το Windows PowerShell ISE πληκτρολογώντας powershell_ise.exe σε μια γραμμή εκτέλεσης( Ctrl + R).

Στη δεξιά πλευρά του παραθύρου PowerShell ISE, μπορείτε να απαριθμήσετε κάθε εντολή που μπορεί να εκτελέσει το PowerShell.Αυτό θα σας δώσει μια καλή αρχή για τη δημιουργία των τύπων πληροφοριών που χρειάζεστε.Στη δέσμη ενεργειών σας, μπορείτε επίσης να καλέσετε προγράμματα τρίτων για την εξαγωγή πληροφοριών επίσης( δηλαδή, το SendEmail είναι μια εφαρμογή τρίτου μέρους, αλλά το PowerShell και το cmd μπορούν να το χρησιμοποιήσουν για να ολοκληρώσουν τις εργασίες που κανονικά δεν μπορούν).

Για το παράδειγμα του σεναρίου μας, θα ελέγξουμε την τρέχουσα χρήση δίσκου της μονάδας C, θα δείξουμε τις τρέχουσες διεργασίες και θα δείξουμε όλα τα αρχεία που μοιράζονται επί του παρόντος στο δίκτυο.

# Έλεγχος χώρου στο σκληρό δίσκο

echo "C: Χρήση μονάδας δίσκου:" & gt;C: \ ΑποστολήΕmail \ info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:' '|Επιλέξτε-Μέγεθος αντικειμένου, FreeSpace & gt; & gt;C: \ SendEmail \ info.txt

# Λίστα τρέχουσες διεργασίες

echo "Διαδικασίες εκτέλεσης:" & gt; & gt;C: \ ΑποστολήΕmail \ info.txt

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

# Καταχωρίστε τα αρχεία / φακέλους που μοιράζονται αυτήν τη στιγμή

echo "shares SMB:" & gt; & gt;C: \ ΑποστολήΕmail \ info.txt

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

# Στείλτε το μήνυμα ηλεκτρονικού ταχυδρομείου

τύπου C: \ SendEmail \ info.txt |C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp κωδικός -u "Καθημερινή πληροφορία διακομιστή"

# Διαγραφή του αρχείου που κάναμε

rm C: \ SendEmail \ info.txt

Σε αυτή τη δέσμη ενεργειών, διάφορες πληροφορίες εξάγονται στο C: \ SendEmail \ info.txt και στη συνέχεια το κείμενο σε αυτό το έγγραφο μας στέλνεται με μήνυμα ηλεκτρονικού ταχυδρομείου προτού διαγραφεί.Αποθηκεύστε τη δέσμη ενεργειών σας με επέκταση αρχείου ps1( αρχείο PowerShell).

Με το σενάριό σας ολοκληρωμένο, εκτελέστε μια γρήγορη δοκιμή από μια εντολή Εκτέλεση για να βεβαιωθείτε ότι λειτουργεί σωστά.

Απλά χρησιμοποιήστε την εντολή powershell με ένα όρισμα -file και καθορίστε τη διαδρομή προς το σενάριό σας.

powershell - αρχείο "c: \ SendEmail \ daily-email.ps1"

Ελέγξτε τα εισερχόμενά σας για να βεβαιωθείτε ότι λάβατε το μήνυμα ηλεκτρονικού ταχυδρομείου - αν όχι, εξετάστε το script σας για σφάλματα σύνταξης.Ακολουθεί το παράδειγμα του παραγόμενου ηλεκτρονικού ταχυδρομείου από το παράδειγμα του σεναρίου μας:

Μπορείτε να παίξετε με τη μορφοποίηση( όπως η ανάδευση κενών γραμμών μεταξύ κειμένου) για να το εμφανίσετε πιο όμορφα στη συσκευή σας ή ακόμα καλύτερα να χρησιμοποιήσετε ένα πρόγραμμα τρίτου μέρους που θαεξάγετε τις απαιτούμενες πληροφορίες σε μια πιο ευανάγνωστη μορφή από ότι τα Windows( η διαδικασία των scripting θα παραμείνει η ίδια).

Αφού επεξεργαστείτε τα σφάλματα στη δέσμη ενεργειών σας, μπορείτε να χρησιμοποιήσετε το Windows Task Scheduler για να το αυτοματοποιήσετε.Ανοίξτε τον Χρονοδιακόπτη εργασιών των Windows από το μενού Έναρξη.

Με τον Χρονοδιακόπτη εργασιών ανοιχτό, επιλέξτε Δράση & gt;Δημιουργία βασικής εργασίας.

Ονομάστε αυτή την εργασία σαν "Καθημερινή δέσμη ενεργειών email" και κάντε κλικ στο κουμπί Next.Στην επόμενη οθόνη, επιλέξτε τη συχνότητα με την οποία θέλετε να εκτελείται το σενάριο ηλεκτρονικού ταχυδρομείου σας, πιθανώς καθημερινά.Στη συνέχεια, επιλέξτε το χρόνο που θα θέλατε να εκτελεστεί το σενάριο και πατήστε επόμενο.

Τώρα θα πρέπει να βρίσκεστε στο τμήμα "Ενέργεια" του οδηγού, επιλέξτε "Έναρξη προγράμματος" και εισαγάγετε το ίδιο κείμενο που εισήγαμε στη γραμμή εντολών "Εκτέλεση" νωρίτερα για να δοκιμάσετε το σενάριό μας.

Πατήστε το επόμενο και στη συνέχεια πατήστε Ναι σε αυτό το παράθυρο:

Κάντε κλικ στο Τέλος στο τελευταίο μενού και ολοκληρώσατε τον προγραμματισμό των αυτόματων μηνυμάτων ηλεκτρονικού ταχυδρομείου.