कंप्यूटर सांख्यिकी को स्वचालित रूप से कैसे बनाएं और ईमेल करें
आपके सर्वर पर हर दिन विभिन्न लॉग डेटा और आंकड़ों की जांच करना महत्वपूर्ण है, लेकिन यह थकाऊ हो जाता है। क्या प्रत्येक दिन सभी हाइलाइट्स के साथ एक एकल ईमेल प्राप्त करना अच्छा नहीं होगा, इसलिए आपको समस्याओं की जांच करने के लिए सर्वर पर आने की आवश्यकता नहीं है? यह गाइड आपको दिखाएगा कि लिनक्स और विंडोज पर स्वचालित ईमेल कैसे कॉन्फ़िगर करें.
हम विशेष रूप से उबंटू और विंडोज 8.1 के लिए इसे कवर करेंगे, जीमेल का उपयोग ईमेल सर्वर के रूप में किया जाता है जो मेल से भेजा जाता है। यदि आपके पास लिनक्स या विंडोज का दूसरा संस्करण है, या किसी अन्य ईमेल सेवा का उपयोग करना पसंद करते हैं, तो यहां दिए गए निर्देश आसानी से अनुकूल होने चाहिए.
लिनक्स में स्वचालित ईमेल
हम इसे पूरा करने के लिए दो अलग-अलग पैकेजों का उपयोग करने जा रहे हैं, ssmtp और mailutils, इसलिए दोनों को निम्नलिखित कमांड के साथ स्थापित करें:
$ sudo apt-get install ssmtp mailutils
एक बार स्थापित होने के बाद, हमें SSMTP कॉन्फ़िगरेशन फ़ाइल में कुछ बदलाव करने की आवश्यकता है:
$ sudo vi /etc/ssmtp/ssmtp.conf
इन परिवर्तनों के साथ फ़ाइल को संपादित करें (यह फ़ाइल में सभी पाठ को मिटाने के लिए सुरक्षित है और यदि आप चाहें तो इन सेटिंग्स को कॉपी / पेस्ट करें):
# यह पता ईमेल प्राप्त करेगा, इसलिए यदि आप उन्हें प्राप्त करना चाहते हैं तो अपना ईमेल यहाँ दर्ज करें.
# यहां ईमेल सर्वर निर्दिष्ट करें (यदि आप जीमेल का उपयोग कर रहे हैं तो छोड़ें).
mailhub = smtp.gmail.com: 587
# डोमेन नेम जो मेल से आएगा.
rewriteDomain = gmail.com
# ईमेल का पता जो ये ईमेल से होना चाहिए.
# एसएसएल / टीएलएस सेटिंग्स, जीमेल और अन्य मेल सर्वर के लिए आवश्यक.
UseTLS = हाँ
UseSTARTTLS = हाँ
# अपने जीमेल खाते का उपयोगकर्ता नाम और पासवर्ड.
Authuser = उपयोगकर्ता नाम
AuthPass = पासवर्ड
# उपरोक्त पते से भिन्न पते से क्षमता निर्दिष्ट करने की अनुमति दें.
FromLineOverride = हाँ
जब आप फ़ाइल को संपादित कर रहे होते हैं, तो आप अनुमतियाँ बदलना चाहते हैं क्योंकि आपका जीमेल पासवर्ड प्लेनटेक्स्ट में संग्रहीत है.
$ sudo chmod 640 /etc/ssmtp/ssmtp.conf
$ sudo chown username.username /etc/ssmtp/ssmtp.conf
यह हमेशा फ़ाइल के मालिक को रूट करने के लिए अधिक सुरक्षित है, लेकिन फिर हमें अपनी स्क्रिप्ट में sudo कमांड का उपयोग करना होगा और यह हमें पासवर्ड के लिए संकेत देगा, जिससे इस पूरी प्रक्रिया को स्वचालित करने का उद्देश्य समाप्त हो जाएगा.
यदि आप एक साझा सर्वर का उपयोग कर रहे हैं और अपने पासवर्ड को प्लेनटेक्स्ट में संग्रहीत किया जा रहा है और रूट द्वारा पठनीय है, तो एक थकाऊ जीमेल अकाउंट बनाएं या किसी ऐसे ईमेल सर्वर का उपयोग करें, जिसे किसी भी प्रकार के प्रमाणीकरण की आवश्यकता नहीं है।.
यह सुनिश्चित करने के लिए कि सब कुछ सही तरीके से कॉन्फ़िगर किया गया है, आइए एक परीक्षण ईमेल की कोशिश करें:
$ गूंज "परीक्षण" | मेल -s "परीक्षण मेल सेटअप" [email protected]
"परीक्षण" ईमेल के मुख्य भाग में होगा और विषय "मेल सेटअप का परीक्षण" होगा। यह सुनिश्चित करने के लिए अपने ईमेल की जाँच करें कि आपने इसे प्राप्त किया है।.
ईमेल के लिए एक स्क्रिप्ट लेखन
अब जब हम कमांड लाइन से ईमेल भेजने में सक्षम हैं, तो एक स्क्रिप्ट लिखें जो हमें हमारे सिस्टम के बारे में कुछ बुनियादी जानकारी भेजेगा.
#! / Bin / bash
# हार्ड ड्राइव स्पेस की जांच करें
इको "हार्ड ड्राइव स्पेस:"> /home/geek/email.txt
df -h >> /home/geek/email.txt
# उन उपयोगकर्ताओं को सूचीबद्ध करें जो लॉग इन हैं
इको "उपयोगकर्ता वर्तमान में लॉग इन करें:" >> /home/geek/email.txt
कौन >> / ahome/geek/email.txt
# वर्तमान में चल रही प्रक्रियाओं की सूची बनाएं
इको "रनिंग प्रोसेस:" >> /home/geek/email.txt
ps -e >> /home/geek/email.txt
# ईमेल भेजें
cat / home/geek/email.txt | mail -s "दैनिक सर्वर जानकारी" [email protected]
# हमारे द्वारा बनाई गई फ़ाइल को हटाएं
rm / home/geek/email.txt
स्पष्ट रूप से आप अपनी स्क्रिप्ट के साथ बहुत अधिक गहराई प्राप्त कर सकते हैं और यहां तक कि प्रारूपण को थोड़ा अच्छा बना सकते हैं, लेकिन यह वही है जो हमारे ईमेल में दिखता है:
अब जब स्क्रिप्ट लिखी और परीक्षण की गई है, तो हम क्रोन का उपयोग स्वचालित रूप से हर दिन उसी समय पर निष्पादित करने के लिए कर सकते हैं। इस उदाहरण में, हम हर सुबह 2:00 बजे भेजे जाने वाले ईमेल को कॉन्फ़िगर करेंगे, इसलिए हम उस दिन बाद में डेटा के माध्यम से जा सकते हैं.
$ crontab -e
2:00 पूर्वाह्न ईमेल के लिए, जोड़ें:
0 2 * * * / / home /gecript.sh
यदि आपको इस भाग के साथ अधिक सहायता की आवश्यकता है, तो हमने crontab फ़ाइलों पर एक संपूर्ण लेख लिखा है.
विंडोज में स्वचालित ईमेल
PowerShell के माध्यम से कमांड लाइन पर ईमेल भेजना संभव है, लेकिन हमने पाया है कि थर्ड पार्टी ऐप्स के साथ इस कार्यक्षमता को लागू करना बहुत आसान है, खासकर जीमेल का उपयोग करते समय। SendEmail विंडोज के लिए उपलब्ध एक मुफ्त प्रोग्राम है जो विंडोज टास्क शेड्यूलर और जीमेल के साथ एक हवा बनाता है। नवीनतम प्रतिलिपि डाउनलोड करने के लिए ऊपर दिए गए लिंक पर क्लिक करें, और सुनिश्चित करें कि आप TLS- समर्थित संस्करण को पकड़ो.
एक बार जब आप SendEmail को डाउनलोड कर लेते हैं, तो ज़िप फ़ाइल को निकालें और सामग्री को कहीं रख दें, जिसे आप स्वचालित ईमेल भेजने के लिए योजना बनाते समय उन्हें स्टोर कर सकते हैं। इस उदाहरण में, हम C: \ SendEmail में प्रोग्राम को स्टोर करने जा रहे हैं
चलो यह कैसे काम करता है के लिए एक त्वरित महसूस पाने के लिए SendEmail का परीक्षण करें। प्रारंभ या रन (Ctrl + R) मेनू में cmd लिखकर एक कमांड प्रॉम्प्ट खोलें.
कमांड प्रॉम्प्ट ओपन होने के साथ, जहाँ आपने SendEmail फ़ाइलों को संग्रहीत किया है, नेविगेट करने के लिए परिवर्तन निर्देशिका कमांड का उपयोग करें.
सीडी सी: \ SendEmail
अब हम निम्नलिखित कमांड के साथ एक परीक्षण ईमेल भेजने की कोशिश कर सकते हैं:
sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com .8787 -xu उपयोगकर्ता नाम -xp पासवर्ड -u "टेस्ट ईमेल विषय" -m "यह एक परीक्षण ईमेल है।"
जाहिर है, कमांड निष्पादित करने से पहले अपने खाते के क्रेडेंशियल्स के साथ "उपयोगकर्ता नाम" और "पासवर्ड" बदलें.
यहाँ ऊपर क्या वास्तव में आदेश है:
ईमेल भेजें
कार्यक्रम को कार्यान्वित करता है.
-च
- इस पते से
-टी
- पता करने के लिए
-रों
- SMTP सर्वर
-जू
- खाता उपयोगकर्ता नाम
-XP
- खाता पासवर्ड
-यू
- ईमेल विषय
-मीटर
- ईमेल बॉडी टेक्स्ट
यह सुनिश्चित करने के लिए कि आपने परीक्षण ईमेल प्राप्त किया है, और फिर हम एक स्क्रिप्ट लिखने के लिए आगे बढ़ सकते हैं, जिससे हमें सर्वर जानकारी मिलेगी.
ईमेल के लिए एक स्क्रिप्ट लेखन
हमारी स्क्रिप्ट का अधिकतम लाभ उठाने के लिए, हम इसे PowerShell के लिए लिखने जा रहे हैं। Windows PowerShell ISE को एक रन प्रॉम्प्ट (Ctrl + R) में powerhell_ise.exe टाइप करके खोलें।.
PowerShell ISE विंडो के दाईं ओर, आप प्रत्येक आदेश को सूचीबद्ध कर सकते हैं जो PowerShell निष्पादित करने में सक्षम है। यह आपको उन सूचनाओं के प्रकार उत्पन्न करने पर एक अच्छी शुरुआत देनी चाहिए जिनकी आपको रिपोर्ट करने की आवश्यकता है। अपनी स्क्रिप्ट में, आप थर्ड पार्टी प्रोग्राम को आउटपुट की जानकारी के लिए भी कॉल कर सकते हैं (यानी SendEmail एक थर्ड पार्टी ऐप है, लेकिन PowerShell और cmd इसका उपयोग उन कार्यों को पूरा करने के लिए कर सकते हैं जो वे सामान्य रूप से नहीं कर सकते).
हमारी उदाहरण स्क्रिप्ट के लिए, हम C ड्राइव के वर्तमान डिस्क उपयोग की जांच करेंगे, वर्तमान में चल रही प्रक्रियाओं को दिखाएँ, और वर्तमान में नेटवर्क पर साझा की जा रही सभी फ़ाइलों को दिखाएँ.
# हार्ड ड्राइव स्पेस की जांच करें
इको "C: ड्राइव यूसेज:"> C: \ SendEmail \ info.txt
Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | सेलेक्ट-ऑब्जेक्ट साइज़, फ्रीस्पेस >> C: \ SendEmail \ info.txt
# वर्तमान में चल रही प्रक्रियाओं की सूची बनाएं
इको "रनिंग प्रॉसेस:" >> C: \ SendEmail \ info.txt
get-process >> C: \ SendEmail \ info.txt
# वर्तमान में साझा की जा रही फ़ाइलों / फ़ोल्डरों की सूची बनाएं
इको "SMB शेयर:" >> C: \ SendEmail \ info.txt
get-smbshare >> C: \ SendEmail \ info.txt
# ईमेल भेजें
टाइप C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com .87 -xu यूज़र -x पासवर्ड -u "डेली सर्वर की जानकारी"
# हमारे द्वारा बनाई गई फ़ाइल को हटाएं
rm C: \ SendEmail \ info.txt
इस स्क्रिप्ट में, विभिन्न सूचनाओं को C: \ SendEmail \ info.txt पर आउटपुट किया जाता है, और फिर डिलीट होने से पहले उस दस्तावेज़ के टेक्स्ट को हमें ईमेल कर दिया जाता है। Ps1 फ़ाइल एक्सटेंशन के साथ अपनी स्क्रिप्ट सहेजें (PowerShell फ़ाइल).
यह सुनिश्चित करने के लिए कि आपकी स्क्रिप्ट ठीक से काम कर रही है, रन प्रॉम्प्ट से एक त्वरित परीक्षण चलाएँ.
बस का उपयोग करें शक्ति कोशिका
एक के साथ कमान -फ़ाइल
तर्क और अपनी स्क्रिप्ट के लिए पथ निर्दिष्ट करें.
शक्तियां -file "c: \ SendEmail \ दैनिक-email.ps1"
यह सुनिश्चित करने के लिए कि आपने ईमेल प्राप्त किया है, अपने इनबॉक्स की जाँच करें - यदि नहीं, तो सिंटैक्स त्रुटियों के लिए अपनी स्क्रिप्ट देखें। यहाँ हमारे उदाहरण स्क्रिप्ट से उत्पन्न ईमेल कैसा दिखता है:
आप इसे अपने डिवाइस पर अच्छे प्रदर्शन को प्रदर्शित करने के लिए स्वरूपण (जैसे पाठ के बीच खाली रेखाओं को प्रतिध्वनित करना) के साथ खेल सकते हैं, या बेहतर अभी तक आप एक तीसरे पक्ष के कार्यक्रम का उपयोग कर सकते हैं जो विंडोज की तुलना में अधिक पठनीय प्रारूप में आवश्यक जानकारी का उत्पादन करेगा ( स्क्रिप्टिंग प्रक्रिया अभी भी वही होगी).
एक बार जब आप अपनी स्क्रिप्ट में काम कर लेते हैं, तो आप इसे स्वचालित करने के लिए विंडोज टास्क शेड्यूलर का उपयोग कर सकते हैं। स्टार्ट मेनू के माध्यम से विंडोज टास्क शेड्यूलर खोलें.
टास्क शेड्यूलर ओपन के साथ, एक्शन> बेसिक टास्क का चयन करें.
इस कार्य को कुछ नाम दें जैसे "दैनिक ईमेल स्क्रिप्ट" और अगला क्लिक करें। अगली स्क्रीन पर, उस आवृत्ति का चयन करें जिसके साथ आप अपनी ईमेल स्क्रिप्ट चलाना चाहते हैं, शायद दैनिक। फिर, वह समय चुनें, जिसे आप स्क्रिप्ट चलाना चाहते हैं, और अगला हिट करें.
अब आपको विज़ार्ड के "एक्शन" भाग पर होना चाहिए, "प्रोग्राम शुरू करें" चुनें और उसी स्क्रिप्ट को दर्ज करें जिसे हमने अपनी स्क्रिप्ट का परीक्षण करने के लिए पहले रन प्रॉम्प्ट में दर्ज किया था।.
अगला मारो और फिर मारो इस खिड़की पर हाँ:
अंतिम मेनू पर समाप्त पर क्लिक करें, और आप अपने स्वचालित ईमेल को शेड्यूल कर रहे हैं.