Είναι σημαντικό να ελέγχετε καθημερινά διάφορα δεδομένα καταγραφής και στατιστικά στοιχεία στον διακομιστή σας, αλλά γίνεται κουραστικό. Δεν θα ήταν ωραίο να λαμβάνετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου με όλες τις καλύτερες στιγμές κάθε μέρα, οπότε δεν χρειάζεται καν να μπείτε στον διακομιστή για να ελέγξετε προβλήματα; Αυτός ο οδηγός θα σας δείξει πώς να διαμορφώσετε αυτοματοποιημένα email σε Linux και Windows.
Θα το καλύψουμε συγκεκριμένα για το Ubuntu και τα Windows 8.1, με το Gmail να χρησιμοποιείται ως διακομιστής email από τον οποίο αποστέλλεται αλληλογραφία. Εάν διαθέτετε άλλη έκδοση Linux ή Windows ή προτιμάτε να χρησιμοποιήσετε κάποια άλλη υπηρεσία email, οι οδηγίες εδώ θα πρέπει να είναι εύκολα προσαρμόσιμες.
Αυτοματοποιημένα email σε Linux
Θα χρησιμοποιήσουμε δύο διαφορετικά πακέτα για να το πετύχουμε αυτό, το ssmtp και το mailutils, οπότε εγκαταστήστε και τα δύο με την ακόλουθη εντολή:
$ sudo apt-get install ssmtp mailutils
Μόλις εγκατασταθούν, πρέπει να πραγματοποιήσουμε κάποιες αλλαγές στο αρχείο διαμόρφωσης SSMTP:
$ sudo vi /etc/ssmtp/ssmtp.conf
Επεξεργαστείτε το αρχείο με αυτές τις αλλαγές (είναι ασφαλές να διαγράψετε όλο το κείμενο στο αρχείο και να αντιγράψετε / επικολλήσετε αυτές τις ρυθμίσεις, αν θέλετε):
# Αυτή η διεύθυνση θα λάβει τα μηνύματα ηλεκτρονικού ταχυδρομείου, οπότε εισαγάγετε το δικό σας email εδώ εάν θέλετε να τα λάβετε.
ροοτ=υσερναμε@γμαηλ.κομ
# Καθορίστε τον διακομιστή email εδώ (αποχωρήστε σαν να χρησιμοποιείτε το Gmail).
mailhub = smtp.gmail.com: 587
# Το όνομα τομέα από το οποίο θα προέρχεται το μήνυμα.
rewriteDomain = gmail.com
# Η διεύθυνση ηλεκτρονικού ταχυδρομείου από την οποία πρέπει να προέρχονται αυτά τα μηνύματα.
χοστναμε=υσερναμε@γμαηλ.κομ
# Ρυθμίσεις SSL / TLS, που απαιτούνται για το Gmail και τους περισσότερους άλλους διακομιστές αλληλογραφίας.
UseTLS = Ναι
UseSTARTTLS = Ναι
# Το όνομα χρήστη και ο κωδικός πρόσβασης στο λογαριασμό σας στο Gmail.
AuthUser = όνομα χρήστη
AuthPass = κωδικός πρόσβασης
# Επιτρέψτε τη δυνατότητα να καθορίσετε μια διεύθυνση διαφορετική από αυτήν που αναφέρεται παραπάνω.
FromLineOverride = ναι
Όταν ολοκληρώσετε την επεξεργασία του αρχείου, θα θελήσετε να αλλάξετε τα δικαιώματα, αφού ο κωδικός πρόσβασής σας στο Gmail είναι αποθηκευμένος σε απλό κείμενο.
$ sudo chmod 640 /etc/ssmtp/ssmtp.conf
$ sudo chown username.username /etc/ssmtp/ssmtp.conf
Είναι πάντα πιο ασφαλές να κάνουμε root τον κάτοχο του αρχείου, αλλά τότε θα πρέπει να χρησιμοποιήσουμε την εντολή sudo στο σενάριό μας και θα μας ζητούσε κωδικό πρόσβασης, καταργώντας έτσι τον σκοπό της αυτοματοποίησης ολόκληρης της διαδικασίας.
Εάν χρησιμοποιείτε έναν κοινόχρηστο διακομιστή και ανησυχείτε για το ότι ο κωδικός πρόσβασής σας είναι αποθηκευμένος σε απλό κείμενο και αναγνώσιμος από root, δημιουργήστε έναν απομακρυσμένο λογαριασμό Gmail ή χρησιμοποιήστε έναν διακομιστή email που δεν απαιτεί αρχικά κανένα τύπο ελέγχου ταυτότητας.
Για να βεβαιωθείτε ότι όλα έχουν διαμορφωθεί σωστά, ας δοκιμάσουμε ένα δοκιμαστικό email:
$ echo "Δοκιμή" | mail -s "Δοκιμή δοκιμής αλληλογραφίας" [email protected]
Το "Testing" θα βρίσκεται στο κύριο μέρος του email και το θέμα θα είναι "Testing mail setup". Ελέγξτε το email σας για να βεβαιωθείτε ότι το λάβατε.
Γράφοντας ένα σενάριο για τα email
Τώρα που είμαστε σε θέση να στείλουμε email από τη γραμμή εντολών, ας γράψουμε ένα σενάριο που θα μας στείλει μερικές βασικές πληροφορίες για το σύστημά μας.
#! / Bin / Bash
# Ελέγξτε το χώρο του σκληρού δίσκου
echo "Χώρος σκληρού δίσκου:"> /home/geek/email.txt
df -h >> /home/geek/email.txt
# Λίστα των χρηστών που είναι συνδεδεμένοι
echo "Οι χρήστες είναι συνδεδεμένοι αυτήν τη στιγμή:" >> /home/geek/email.txt
ποιος >> /home/geek/email.txt
# Λίστα των τρέχουσας διαδικασίας
echo "Τρέχουσες διαδικασίες:" >> /home/geek/email.txt
ps -e >> /home/geek/email.txt
# Στείλτε το email
cat /home/geek/email.txt | mail -s "Καθημερινές πληροφορίες διακομιστή" [email protected]
# Διαγράψτε το αρχείο που δημιουργήσαμε
rm /home/geek/email.txt
Προφανώς, μπορείτε να πάρετε πολύ περισσότερα σε βάθος με το σενάριό σας και ακόμη και να κάνετε τη μορφοποίηση λίγο πιο ωραία, αλλά έτσι φαίνεται η έξοδος στο email μας:
Τώρα που το σενάριο είναι γραμμένο και δοκιμασμένο, μπορούμε να χρησιμοποιήσουμε το cron για να το εκτελέσουμε αυτόματα την ίδια ώρα κάθε μέρα. Σε αυτό το παράδειγμα, θα διαμορφώσουμε το email που θα αποστέλλεται στις 2:00 π.μ. κάθε πρωί, ώστε να μπορέσουμε να διαβιβάσουμε τα δεδομένα αργότερα εκείνη την ημέρα.
$ crontab -e
Για email στις 2:00 π.μ., προσθέστε:
0 2 * * * /ηομε/γεεκ/σκριπτ.ση
Έχουμε γράψει ένα ολόκληρο άρθρο αρχεία crontab εάν χρειάζεστε περισσότερη βοήθεια με αυτό το μέρος.
Αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου στα Windows
Η αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου στη γραμμή εντολών είναι δυνατή μέσω του PowerShell, αλλά διαπιστώσαμε ότι η εφαρμογή αυτής της λειτουργικότητας είναι πολύ πιο εύκολη με εφαρμογές τρίτων, ειδικά όταν χρησιμοποιείτε το Gmail. Να στείλετε e-mail είναι ένα δωρεάν διαθέσιμο πρόγραμμα για τα Windows που κάνει την ενσωμάτωση με το Windows Task Scheduler και το Gmail ένα αεράκι. Κάντε κλικ στον παραπάνω σύνδεσμο για να κατεβάσετε το πιο πρόσφατο αντίγραφο και βεβαιωθείτε ότι έχετε πάρει την έκδοση που υποστηρίζεται από το TLS.
Μόλις κατεβάσετε το SendEmail, εξαγάγετε το αρχείο zip και τοποθετήστε το περιεχόμενο κάπου που μπορείτε να τα αποθηκεύσετε για όσο διάστημα σκοπεύετε να στείλετε αυτοματοποιημένα email. Σε αυτό το παράδειγμα, πρόκειται απλώς να αποθηκεύσουμε το πρόγραμμα σε 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 password -u "Θέμα δοκιμής email" -m "Αυτό είναι ένα δοκιμαστικό email."
Προφανώς, αντικαταστήστε το "όνομα χρήστη" και τον "κωδικό πρόσβασης" με τα διαπιστευτήρια του λογαριασμού σας προτού εκτελέσετε την εντολή.
Να τι κάνει στην πραγματικότητα η παραπάνω εντολή:
να στείλετε e-mail
εκτελεί το πρόγραμμα.
-φά
- από τη διεύθυνση
- τ
- στη διεύθυνση
-μικρό
- Διακομιστής SMTP
-νόμισμα
- όνομα χρήστη λογαριασμού
-xp
- κωδικός πρόσβασης λογαριασμού
-ε
- το θέμα του email
-Μ
- κείμενο σώματος email
Ελέγξτε τα εισερχόμενά σας για να βεβαιωθείτε ότι λάβατε το δοκιμαστικό email και, στη συνέχεια, μπορούμε να προχωρήσουμε στη σύνταξη ενός σεναρίου που θα μας στείλει πληροφορίες διακομιστή.
Γράφοντας ένα σενάριο για τα email
Για να αξιοποιήσουμε στο έπακρο το σενάριό μας, θα το γράψουμε για το PowerShell. Ανοίξτε το Windows PowerShell ISE πληκτρολογώντας powerhell_ise.exe σε μια εντολή Εκτέλεση (Ctrl + R).
Στη δεξιά πλευρά του παραθύρου PowerShell ISE, μπορείτε να απαριθμήσετε κάθε εντολή που μπορεί να εκτελέσει το PowerShell. Αυτό θα σας δώσει μια καλή αρχή για τη δημιουργία των τύπων πληροφοριών που χρειάζεστε να αναφέρετε. Στο σενάριό σας, μπορείτε επίσης να καλέσετε προγράμματα τρίτων για την παραγωγή πληροφοριών επίσης (δηλαδή το SendEmail είναι μια εφαρμογή τρίτου μέρους, αλλά το PowerShell και το cmd μπορούν να το χρησιμοποιήσουν για την εκτέλεση εργασιών που συνήθως δεν μπορούν).
Για το παράδειγμα του σεναρίου μας, θα ελέγξουμε την τρέχουσα χρήση του δίσκου της μονάδας C, θα δείξουμε τις τρέχουσες διαδικασίες και θα δείξουμε όλα τα αρχεία που μοιράζονται αυτήν τη στιγμή στο δίκτυο.
# Ελέγξτε το χώρο του σκληρού δίσκου
echo "C: Drive Usage:"> C: \ SendEmail \ info.txt
Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Επιλέξτε-Μέγεθος αντικειμένου, FreeSpace >> C: \ SendEmail \ info.txt
# Λίστα των τρέχουσας διαδικασίας
echo "Τρέχουσες διαδικασίες:" >> C: \ SendEmail \ info.txt
get-process >> C: \ SendEmail \ info.txt
# Λίστα των αρχείων / φακέλων που είναι κοινόχρηστα
echo "Κοινή χρήση SMB:" >> C: \ SendEmail \ info.txt
get-smbshare >> C: \ SendEmail \ info.txt
# Στείλτε το email
τύπος C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u "Ημερήσιες πληροφορίες διακομιστή"
# Διαγράψτε το αρχείο που κάναμε
rm C: \ SendEmail \ info.txt
Σε αυτό το σενάριο, διάφορες πληροφορίες εξάγονται στο C: \ SendEmail \ info.txt και, στη συνέχεια, το κείμενο σε αυτό το έγγραφο μας αποστέλλεται μέσω ηλεκτρονικού ταχυδρομείου προτού διαγραφεί. Αποθηκεύστε το σενάριό σας με επέκταση αρχείου ps1 (αρχείο PowerShell).
Με το σενάριό σας ολοκληρωμένο, εκτελέστε μια γρήγορη δοκιμή από μια εντολή Εκτέλεση για να βεβαιωθείτε ότι λειτουργεί σωστά.
Απλώς χρησιμοποιήστε το
δύναμη
εντολή με ένα
-αρχείο
όρισμα και καθορίστε τη διαδρομή προς το σενάριό σας.
Powerhell -file "c: \ SendEmail \ daily-email.ps1"
Ελέγξτε τα εισερχόμενά σας για να βεβαιωθείτε ότι λάβατε το μήνυμα ηλεκτρονικού ταχυδρομείου - εάν όχι, αναζητήστε το σενάριό σας για σφάλματα σύνταξης. Δείτε πώς φαίνεται το παραγόμενο μήνυμα ηλεκτρονικού ταχυδρομείου από το σενάριό μας:
Μπορείτε να παίξετε με τη μορφοποίηση (όπως αντηχεί κενές γραμμές μεταξύ κειμένου) για να την κάνει πιο ωραία στη συσκευή σας ή καλύτερα, ωστόσο, μπορείτε να χρησιμοποιήσετε ένα πρόγραμμα τρίτου μέρους που θα παράγει τις απαραίτητες πληροφορίες σε πιο ευανάγνωστη μορφή από ό, τι τα Windows ( η διαδικασία δέσμης ενεργειών θα παραμείνει η ίδια).
Μόλις επεξεργαστείτε τα προβλήματα στο σενάριό σας, μπορείτε να χρησιμοποιήσετε το Windows Task Scheduler για να το αυτοματοποιήσετε. Ανοίξτε το Windows Task Scheduler μέσω του μενού Έναρξη.
Με το Task Scheduler ανοιχτό, επιλέξτε Ενέργεια> Δημιουργία βασικής εργασίας.
Ονομάστε αυτήν την εργασία, όπως "Καθημερινή δέσμη ενεργειών email" και κάντε κλικ στο επόμενο. Στην επόμενη οθόνη, επιλέξτε τη συχνότητα με την οποία θέλετε να εκτελείται το σενάριο email σας, πιθανώς καθημερινά. Στη συνέχεια, επιλέξτε την ώρα που θέλετε να εκτελείται το σενάριο και πατήστε επόμενο.
Τώρα θα πρέπει να βρίσκεστε στο τμήμα "Ενέργεια" του οδηγού, να επιλέξετε "Έναρξη προγράμματος" και να εισαγάγετε το ίδιο κείμενο που εισαγάγαμε στην εντολή Εκτέλεση νωρίτερα για να δοκιμάσετε το σενάριό μας.
Πατήστε το επόμενο και μετά πατήστε Ναι σε αυτό το παράθυρο:
Κάντε κλικ στο κουμπί Τέλος στο τελευταίο μενού και ολοκληρώσατε τον προγραμματισμό των αυτόματων μηνυμάτων ηλεκτρονικού ταχυδρομείου.