कंप्यूटर सांख्यिकी स्वचालित रूप से जेनरेट और ईमेल कैसे करें

विषयसूची:

कंप्यूटर सांख्यिकी स्वचालित रूप से जेनरेट और ईमेल कैसे करें
कंप्यूटर सांख्यिकी स्वचालित रूप से जेनरेट और ईमेल कैसे करें

वीडियो: कंप्यूटर सांख्यिकी स्वचालित रूप से जेनरेट और ईमेल कैसे करें

वीडियो: कंप्यूटर सांख्यिकी स्वचालित रूप से जेनरेट और ईमेल कैसे करें
वीडियो: Advance Authorisation Scheme - Duty-Free Import against Advance License | All you need to know - YouTube 2024, मई
Anonim
हर दिन अपने सर्वर पर विभिन्न लॉग डेटा और आंकड़े जांचना महत्वपूर्ण है, लेकिन यह कठिन हो जाता है। क्या प्रत्येक दिन सभी हाइलाइट्स के साथ एक ईमेल प्राप्त करना अच्छा नहीं होगा, इसलिए आपको समस्याओं की जांच करने के लिए सर्वर पर भी जाने की आवश्यकता नहीं है? यह मार्गदर्शिका आपको दिखाएगी कि लिनक्स और विंडोज़ पर स्वचालित ईमेल कैसे कॉन्फ़िगर करें।
हर दिन अपने सर्वर पर विभिन्न लॉग डेटा और आंकड़े जांचना महत्वपूर्ण है, लेकिन यह कठिन हो जाता है। क्या प्रत्येक दिन सभी हाइलाइट्स के साथ एक ईमेल प्राप्त करना अच्छा नहीं होगा, इसलिए आपको समस्याओं की जांच करने के लिए सर्वर पर भी जाने की आवश्यकता नहीं है? यह मार्गदर्शिका आपको दिखाएगी कि लिनक्स और विंडोज़ पर स्वचालित ईमेल कैसे कॉन्फ़िगर करें।

हम विशेष रूप से उबंटू और विंडोज 8.1 के लिए इसे कवर करेंगे, जीमेल का उपयोग ईमेल सर्वर के रूप में किया जा रहा है, जिससे मेल भेजा जाता है। यदि आपके पास लिनक्स या विंडोज का एक और संस्करण है, या किसी अन्य ईमेल सेवा का उपयोग करना पसंद करते हैं, तो यहां निर्देश आसानी से अनुकूलनीय होना चाहिए।

लिनक्स में स्वचालित ईमेल

हम इसे, एसएसएमटीपी और मेलुटिल्स को पूरा करने के लिए दो अलग-अलग पैकेजों का उपयोग करने जा रहे हैं, इसलिए निम्न दोनों को निम्न आदेश के साथ स्थापित करें:

$ sudo apt-get install ssmtp mailutils

एक बार इंस्टॉल होने के बाद, हमें एसएसएमटीपी कॉन्फ़िगरेशन फ़ाइल में कुछ बदलाव करने की आवश्यकता है:

$ sudo vi /etc/ssmtp/ssmtp.conf

इन परिवर्तनों के साथ फ़ाइल को संपादित करें (फ़ाइल में सभी टेक्स्ट को मिटाना सुरक्षित है और यदि आप चाहें तो इन सेटिंग्स को कॉपी / पेस्ट करें):

# 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

जब आप फ़ाइल को संपादित कर लेते हैं, तो आप अनुमतियों को बदलना चाहेंगे क्योंकि आपका जीमेल पासवर्ड सादे टेक्स्ट में संग्रहीत है।

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

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

फाइल के मालिक को रूट बनाने के लिए हमेशा अधिक सुरक्षित होता है, लेकिन फिर हमें अपनी स्क्रिप्ट में सुडो कमांड का उपयोग करना होगा और यह हमें पासवर्ड के लिए संकेत देगा, जिससे इस पूरे प्रक्रिया को स्वचालित करने के उद्देश्य को हराया जा सकेगा।

यदि आप एक साझा सर्वर का उपयोग कर रहे हैं और सादे टेक्स्ट में संग्रहीत किए जा रहे पासवर्ड और रूट द्वारा पठनीय होने के बारे में चिंतित हैं, तो एक फेंक दिया जीमेल खाता बनाएं या एक ईमेल सर्वर का उपयोग करें जिसे किसी भी प्रकार के प्रमाणीकरण की आवश्यकता नहीं है।

यह सुनिश्चित करने के लिए कि सब कुछ सही तरीके से कॉन्फ़िगर किया गया है, आइए एक परीक्षण ईमेल आज़माएं:

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

"परीक्षण" ईमेल के शरीर में होगा और विषय "मेल सेटअप परीक्षण" होगा। यह सुनिश्चित करने के लिए कि आप इसे प्राप्त कर चुके हैं, अपना ईमेल देखें।

ईमेल के लिए एक स्क्रिप्ट लिखना

अब जब हम कमांड लाइन से ईमेल भेज सकते हैं, तो हम एक स्क्रिप्ट लिखें जो हमें हमारे सिस्टम के बारे में कुछ बुनियादी जानकारी भेजेगी।

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

जाहिर है आप अपनी स्क्रिप्ट के साथ बहुत अधिक गहराई से प्राप्त कर सकते हैं और स्वरूपण को थोड़ा अच्छा बना सकते हैं, लेकिन यह हमारे ईमेल में आउटपुट जैसा दिखता है:

अब जब लिपि लिखी और परीक्षण की गई है, तो हम हर दिन एक ही समय में इसे स्वचालित रूप से निष्पादित करने के लिए क्रॉन का उपयोग कर सकते हैं। इस उदाहरण में, हम हर सुबह 2:00 बजे भेजे जाने वाले ईमेल को कॉन्फ़िगर करेंगे, इसलिए हम उस दिन बाद में डेटा के माध्यम से जा सकते हैं।
अब जब लिपि लिखी और परीक्षण की गई है, तो हम हर दिन एक ही समय में इसे स्वचालित रूप से निष्पादित करने के लिए क्रॉन का उपयोग कर सकते हैं। इस उदाहरण में, हम हर सुबह 2:00 बजे भेजे जाने वाले ईमेल को कॉन्फ़िगर करेंगे, इसलिए हम उस दिन बाद में डेटा के माध्यम से जा सकते हैं।

$ crontab -e

2:00 बजे ईमेल के लिए, जोड़ें:

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

अगर आपको इस हिस्से के साथ और मदद की ज़रूरत है तो हमने crontab फ़ाइलों पर एक संपूर्ण लेख लिखा है।

विंडोज़ में स्वचालित ईमेल

कमांड लाइन पर ईमेल भेजना PowerShell के माध्यम से संभव है, लेकिन हमने पाया है कि इस कार्यक्षमता को कार्यान्वित करना तीसरे पक्ष के ऐप्स के साथ बहुत आसान है, खासकर जीमेल का उपयोग करते समय। SendEmail विंडोज के लिए एक मुफ़्त प्रोग्राम उपलब्ध है जो विंडोज टास्क शेड्यूलर और जीमेल के साथ एकीकरण बनाता है। नवीनतम प्रति डाउनलोड करने के लिए उपरोक्त लिंक पर क्लिक करें, और सुनिश्चित करें कि आप टीएलएस-समर्थित संस्करण को पकड़ लें।

एक बार जब आप SendEmail डाउनलोड कर लेंगे, तो ज़िप फ़ाइल निकालें और सामग्री को कहीं भी रखें ताकि आप उन्हें तब तक स्टोर कर सकें जब तक आप स्वचालित ईमेल भेजने की योजना बनाते हैं। इस उदाहरण में, हम सिर्फ सी: SendEmail में प्रोग्राम को स्टोर करने जा रहे हैं

चलो यह कैसे काम करता है इसके लिए एक त्वरित महसूस करने के लिए SendEmail का परीक्षण करें। स्टार्ट या रन (Ctrl + R) मेनू में cmd टाइप करके कमांड प्रॉम्प्ट खोलें।

कमांड प्रॉम्प्ट खोलने के साथ, SendEmail फ़ाइलों को संग्रहीत करने के लिए नेविगेट करने के लिए बदलें निर्देशिका कमांड का उपयोग करें।
कमांड प्रॉम्प्ट खोलने के साथ, SendEmail फ़ाइलों को संग्रहीत करने के लिए नेविगेट करने के लिए बदलें निर्देशिका कमांड का उपयोग करें।

cd C:SendEmail

अब हम निम्न आदेश के साथ एक परीक्षण ईमेल भेजने का प्रयास कर सकते हैं:

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

जाहिर है, आदेश निष्पादित करने से पहले अपने खाता प्रमाण-पत्र के साथ "उपयोगकर्ता नाम" और "पासवर्ड" को प्रतिस्थापित करें।

वास्तव में ऊपर दिया गया आदेश वास्तव में क्या करता है:

sendEmail

कार्यक्रम निष्पादित करता है।

-f

- इस पते से

-t

- पता करने के लिए

-s

- एसएमटीपी सर्वर

-xu

- खाता उपयोगकर्ता नाम

-xp

- खाता पासवर्ड

-u

- ईमेल विषय

-m

- ईमेल बॉडी टेक्स्ट

यह सुनिश्चित करने के लिए अपने इनबॉक्स को जांचें कि आपको परीक्षण ईमेल प्राप्त हुआ है, और फिर हम एक स्क्रिप्ट लिखने के लिए आगे बढ़ सकते हैं जो हमें सर्वर की जानकारी भेज देगा।

ईमेल के लिए एक स्क्रिप्ट लिखना

हमारी लिपि से अधिक लाभ उठाने के लिए, हम इसे PowerShell के लिए लिखने जा रहे हैं। Powerhell_ise.exe को रन प्रॉम्प्ट (Ctrl + R) में टाइप करके Windows PowerShell ISE खोलें।

पावरशेल आईएसई विंडो के दाईं ओर, आप प्रत्येक कमांड को सूचीबद्ध कर सकते हैं जो PowerShell निष्पादित करने में सक्षम है। इससे आपको सूचना की प्रकारों को उत्पन्न करने पर अच्छी शुरुआत मिलनी चाहिए। अपनी स्क्रिप्ट में, आप आउटपुट जानकारी के लिए तीसरे पक्ष के कार्यक्रमों पर भी कॉल कर सकते हैं (यानी SendEmail एक तृतीय पक्ष ऐप है लेकिन पावरशेल और सीएमडी इसका उपयोग उन कार्यों को पूरा करने के लिए कर सकते हैं जो वे सामान्य रूप से नहीं कर सकते हैं)।
पावरशेल आईएसई विंडो के दाईं ओर, आप प्रत्येक कमांड को सूचीबद्ध कर सकते हैं जो PowerShell निष्पादित करने में सक्षम है। इससे आपको सूचना की प्रकारों को उत्पन्न करने पर अच्छी शुरुआत मिलनी चाहिए। अपनी स्क्रिप्ट में, आप आउटपुट जानकारी के लिए तीसरे पक्ष के कार्यक्रमों पर भी कॉल कर सकते हैं (यानी SendEmail एक तृतीय पक्ष ऐप है लेकिन पावरशेल और सीएमडी इसका उपयोग उन कार्यों को पूरा करने के लिए कर सकते हैं जो वे सामान्य रूप से नहीं कर सकते हैं)।
हमारी उदाहरण स्क्रिप्ट के लिए, हम सी ड्राइव के वर्तमान डिस्क उपयोग की जांच करेंगे, वर्तमान में चल रही प्रक्रियाओं को दिखाएंगे, और वर्तमान में नेटवर्क पर साझा की जाने वाली सभी फाइलें दिखाएंगे।
हमारी उदाहरण स्क्रिप्ट के लिए, हम सी ड्राइव के वर्तमान डिस्क उपयोग की जांच करेंगे, वर्तमान में चल रही प्रक्रियाओं को दिखाएंगे, और वर्तमान में नेटवर्क पर साझा की जाने वाली सभी फाइलें दिखाएंगे।

# 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

इस स्क्रिप्ट में, सी: SendEmail info.txt पर विभिन्न जानकारी आउटपुट की जाती है, और तब उस दस्तावेज़ में टेक्स्ट को हटाए जाने से पहले हमें ईमेल किया जाता है। अपनी स्क्रिप्ट को एक ps1 फ़ाइल एक्सटेंशन (PowerShell फ़ाइल) से सहेजें।

अपनी स्क्रिप्ट समाप्त होने के साथ, यह सुनिश्चित करने के लिए कि यह ठीक से काम कर रहा है, रन रन से त्वरित परीक्षण चलाएं।

बस का प्रयोग करें

powershell

एक के साथ आदेश

-file

तर्क और अपनी स्क्रिप्ट के लिए पथ निर्दिष्ट करें।

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

यह सुनिश्चित करने के लिए अपने इनबॉक्स को जांचें कि आपको ईमेल प्राप्त हुआ है - यदि नहीं, तो वाक्यविन्यास त्रुटियों के लिए अपनी स्क्रिप्ट को देखें। यहां बताया गया है कि हमारी उदाहरण स्क्रिप्ट से जेनरेट किया गया ईमेल कैसा दिखता है:
यह सुनिश्चित करने के लिए अपने इनबॉक्स को जांचें कि आपको ईमेल प्राप्त हुआ है - यदि नहीं, तो वाक्यविन्यास त्रुटियों के लिए अपनी स्क्रिप्ट को देखें। यहां बताया गया है कि हमारी उदाहरण स्क्रिप्ट से जेनरेट किया गया ईमेल कैसा दिखता है:
आप फ़ॉर्मेटिंग के साथ चारों ओर खेल सकते हैं (जैसे पाठ के बीच खाली लाइनों को प्रतिबिंबित करना) ताकि यह आपके डिवाइस पर अच्छा प्रदर्शन कर सके, या बेहतर है कि आप किसी तृतीय पक्ष प्रोग्राम का उपयोग कर सकते हैं जो आवश्यक जानकारी को विंडोज़ की तुलना में अधिक पठनीय प्रारूप में आउटपुट करेगा ( पटकथा प्रक्रिया अभी भी वही होगी)।
आप फ़ॉर्मेटिंग के साथ चारों ओर खेल सकते हैं (जैसे पाठ के बीच खाली लाइनों को प्रतिबिंबित करना) ताकि यह आपके डिवाइस पर अच्छा प्रदर्शन कर सके, या बेहतर है कि आप किसी तृतीय पक्ष प्रोग्राम का उपयोग कर सकते हैं जो आवश्यक जानकारी को विंडोज़ की तुलना में अधिक पठनीय प्रारूप में आउटपुट करेगा ( पटकथा प्रक्रिया अभी भी वही होगी)।

एक बार जब आप अपनी स्क्रिप्ट में कंकों को काम कर लेंगे, तो आप इसे स्वचालित करने के लिए विंडोज टास्क शेड्यूलर का उपयोग कर सकते हैं। स्टार्ट मेनू के माध्यम से विंडोज़ टास्क शेड्यूलर खोलें।

कार्य शेड्यूलर के साथ, क्रिया> मूल कार्य बनाएँ चुनें।
कार्य शेड्यूलर के साथ, क्रिया> मूल कार्य बनाएँ चुनें।
इस कार्य को "दैनिक ईमेल स्क्रिप्ट" जैसे कुछ नाम दें और अगला क्लिक करें। अगली स्क्रीन पर, उस आवृत्ति का चयन करें जिसके साथ आप अपनी ईमेल स्क्रिप्ट को चलाने के लिए संभवतः रोज़ाना चाहते हैं। फिर, उस समय का चयन करें जिसे आप स्क्रिप्ट चलाने के लिए चाहते हैं, और अगला हिट करें।
इस कार्य को "दैनिक ईमेल स्क्रिप्ट" जैसे कुछ नाम दें और अगला क्लिक करें। अगली स्क्रीन पर, उस आवृत्ति का चयन करें जिसके साथ आप अपनी ईमेल स्क्रिप्ट को चलाने के लिए संभवतः रोज़ाना चाहते हैं। फिर, उस समय का चयन करें जिसे आप स्क्रिप्ट चलाने के लिए चाहते हैं, और अगला हिट करें।

अब आपको विज़ार्ड के "एक्शन" भाग पर होना चाहिए, "प्रोग्राम शुरू करें" का चयन करें और उसी स्क्रिप्ट को दर्ज करें जिसे हमने पहले स्क्रिप्ट का परीक्षण करने के लिए रन प्रॉम्प्ट में दर्ज किया था।

Image
Image

अगले हिट करें और फिर इस विंडो पर हां हिट करें:

सिफारिश की: