Windows कार्य शेड्यूलर मुझे विफल होने पर सचेत करें


65

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

मैं विंडोज टास्क शेड्यूलर कैसे बनाऊं मुझे स्क्रिप्ट के विफल होने (या नहीं चलने / नहीं मिलने) के साथ बताएं?

मुझे परवाह नहीं है अगर एक संकेत आता है, एक ईमेल या कुछ जो मेरे डेस्कटॉप पर दिखाई देता है। अगर कुछ गलत हुआ तो मुझे सूचित किया जाना चाहिए। मेरे सर्वर पर, crontab त्रुटियों के बारे में मुझे ईमेल करता है - जो बहुत अच्छा है। मुझे अपनी खिड़कियों 7 स्थानीय कंप्यूटर पर ऐसा कुछ चाहिए।


कार्य शेड्यूलर ईवेंट आईडी को कम से कम mnaoumov.wordpress.com/2014/05/15/task-scheduler-event-ids

जवाबों:


87

जब कोई निर्धारित कार्य प्रारंभ करने में विफल हो जाता है, तो एक कार्य टास्कसुकुलर इवेंट लॉग में लिखा जाता है :

नोट: टास्क समयबद्धक लॉग में (प्रशासनिक उपकरण के तहत) स्थित है

 Computer Management
    System Tools
       Event Viewer
          Application and Services Logs
             Microsoft
                Windows
                   Task Scheduler
                      Operational

यहाँ छवि विवरण दर्ज करें

विंडोज़ आपको कई प्रकार के ईवेंट होने पर शुरू करने के लिए निर्धारित कार्यों को ट्रिगर करने देता है, जैसे:

  • दिन का समय
  • सिस्टम स्टार्टअप
  • उपयोगकर्ता लॉगिन
  • इवेंट लॉग में दर्ज की गई घटना

इस ज्ञान के साथ, आप एक निर्धारित कार्य बना सकते हैं जो आपके निर्धारित कार्य के विफल होने पर चलता है:

यहाँ छवि विवरण दर्ज करें

इस शेड्यूल किए गए कार्य की कार्रवाई तब कुछ ऐसी चीज़ों पर सेट की जा सकती है जो आपको अलर्ट भेजती है - आपकी पसंद के तरीकों में (जैसे एक शटडाउन ट्रिगर)। आप बस इसे ई-मेल भेजना चाहेंगे:

यहाँ छवि विवरण दर्ज करें

यह है कि विंडोज सब कुछ कैसे संभालता है। आप कई नैदानिक ​​कार्य देख सकते हैं जो लॉग में दिखाई देने वाली घटना पर ट्रिगर होते हैं। उदाहरण के लिए, जब एक आईपी पता संघर्ष का पता चलता है, तो लॉग में एक घटना लिखी जाती है:

  • लॉग: सिस्टम
  • स्रोत: Tcpip
  • इवेंट आईडी: 4198

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


2
आपको ईवेंट लॉग (203 और 103) से ईवेंट आईडी मिलता है । आप स्क्रीनशॉट (203 और 103) में इवेंट आईडी देख सकते हैं। या मैं आपको इवेंट आईडी: 203 और 103 बता सकता हूं।
इयान बोयड

5
दूसरा कार्य विफल होने पर आप क्या करते हैं?!?
विलियम जैक्सन

3
@WilliamJackson एक ऐसी घटना बनाएँ जो मशीन को बंद कर दे। किसी न किसी समस्या के लिए निश्चित रूप से सतर्क किया जाएगा।
इयान बोयड

11
वास्तव में यदि दूसरा कार्य विफल हो जाता है तो यह दूसरा कार्य लॉन्च करेगा जो विफल हो जाएगा जो दूसरा कार्य लॉन्च करेगा जो विफल हो जाएगा जो दूसरा कार्य लॉन्च करेगा जो आपको मिलेगा ... आपको विचार मिलता है। मुझे यह मुश्किल तरीके से पता चला है = /
रोब पेनरिज

6
यदि कोई कार्य विफल होता है , तो यह आपको सचेत नहीं करता है , केवल यदि यह प्रारंभ करने में विफल रहता है । एक ही बात काफी नहीं है।
jwg

11

यहां मेरी स्क्रिप्ट मुझे सतर्क करने के लिए है जब मेरी बैकअप नौकरी का मूल्य 0 से अधिक है।

$ScheduledTaskName = "Hans\Backup"
$Result = (schtasks /query /FO LIST /V /TN $ScheduledTaskName  | findstr "Result")
$Result = $Result.substring(12)
$Code = $Result.trim()

If ($Code -gt 0) {
    $User = "mymail@gmail.com"
    $Pass = ConvertTo-SecureString -String "myPassword" -AsPlainText -Force
    $Cred = New-Object System.Management.Automation.PSCredential $User, $Pass
################################################################################

$From = "Alert Scheduled Task <mymail@gmail.com>"
$To = "Me Gmail <mymail@gmail.com>"
$Subject = "Scheduled task 'Backup' failed"
$Body = "Error code: $Code"
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"

Send-MailMessage -From $From -to $To -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl `
-Credential $Cred
}

यह एक अच्छा विकल्प है क्योंकि वर्तमान चयनित उत्तर एक चित्रित विंडोज सुविधा का उपयोग करता है।
जॉन हरग्रोव

कृपया ध्यान रखें, कि यह विशेष रूप से अंग्रेजी भाषा में विंडोज वाले उपयोगकर्ताओं के लिए तैयार किया गया समाधान है। विंडोज में उपयोगकर्ता की भाषा के अनुसार argumentfindstr´ के तर्क को बदलना होगा।
Eda190

7

PushMon पर एक नज़र डालें । आप एक PushMon URL बना सकते हैं जिसे आपकी स्क्रिप्ट के अंत में कहा जाएगा। यदि आपकी स्क्रिप्ट नहीं चलती है क्योंकि सर्वर डाउन था या स्क्रिप्ट स्थानांतरित हो गई थी, तो आपको सूचित किया जाएगा। आप ईमेल, एसएमएस, फोन कॉल, आईएम और ट्विटर द्वारा अधिसूचित कर सकते हैं। यह किसी भी ऑपरेटिंग सिस्टम के लिए काम करेगा। यह Phatt की तरह है लेकिन स्क्रिप्ट और बैकग्राउंड टास्क के लिए।


1
यदि आप इसे अपनी स्क्रिप्ट के अंत में जोड़ते हैं, और स्क्रिप्ट गायब है (उदाहरण के लिए), तो इसे कैसे कहा जाना चाहिए
Bob

3
चूंकि स्क्रिप्ट चली गई और URL को कॉल नहीं किया गया, तो आपको एक अलर्ट मिलेगा।
बिएनवेनिडो डेविड

1
उनकी साइट पर जाने की कोशिश कर रहा है; विडंबना यह है कि यह नीचे लगता है ..
इसहाक क्लेनमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.