विषयसूची:

नेटस्क्रीन फ़ायरवॉल का बैकअप कैसे लें: 8 कदम
नेटस्क्रीन फ़ायरवॉल का बैकअप कैसे लें: 8 कदम

वीडियो: नेटस्क्रीन फ़ायरवॉल का बैकअप कैसे लें: 8 कदम

वीडियो: नेटस्क्रीन फ़ायरवॉल का बैकअप कैसे लें: 8 कदम
वीडियो: How to Recover Deleted Data After Phone Reset & Formet !! How to Creat Phone Data Backup 2024, नवंबर
Anonim

द्वारा joeFollow लेखक द्वारा अधिक:

इंटेल एडिसन गैराज मॉनिटर और अलर्ट सिस्टम
इंटेल एडिसन गैराज मॉनिटर और अलर्ट सिस्टम
इंटेल एडिसन गैराज मॉनिटर और अलर्ट सिस्टम
इंटेल एडिसन गैराज मॉनिटर और अलर्ट सिस्टम
इंटेल एडिसन फैट बाइक टायर विश्लेषक
इंटेल एडिसन फैट बाइक टायर विश्लेषक
इंटेल एडिसन फैट बाइक टायर विश्लेषक
इंटेल एडिसन फैट बाइक टायर विश्लेषक
इंटेल गैलीलियो गैराज मॉनिटर
इंटेल गैलीलियो गैराज मॉनिटर
इंटेल गैलीलियो गैराज मॉनिटर
इंटेल गैलीलियो गैराज मॉनिटर

के बारे में: मुझे बस किसी भी चीज़ के साथ छेड़छाड़ करना पसंद है, कभी-कभी यह अंत में काम करता है। परियोजनाओं को देखने में मज़ा लें, कुछ खुला फाड़ने का प्रयास करें और मुझे बताएं कि यह कैसा चल रहा है। चीयर्स, -जो और जो के बारे में »

यह निर्देशयोग्य एक स्क्रिप्ट दिखाता है जिसका उपयोग स्क्रीनओएस चलाने वाले नेटस्क्रीन फ़ायरवॉल के बैकअप को स्वचालित करने के लिए किया जा सकता है।

चरण 1: आवश्यकताएँ

आवश्यकताएं
आवश्यकताएं

यह स्क्रिप्ट उम्मीद में लिखी गई है और मानती है कि आपने SSH को अपने नेटस्क्रीन और एक लिनक्स वातावरण पर चालू कर दिया है। यदि आपने कभी उम्मीद की जांच नहीं की है, तो ओरेली के पास एक महान पुस्तक "एक्सप्लोरिंग एक्सपेक्ट" https://oreilly.com/catalog/9781565920903/ है।

चरण 2: चर

चर
चर

हम कुछ वैरिएबल सेट करने के साथ शुरू करेंगे। आप अपने परिवेश से मेल खाने के लिए पोर्ट/यूजरनेम/पासवर्ड/नेटस्क्रीन/प्रॉम्प्ट वैरिएबल सेट करना चाहेंगे। #!/usr/bin/expect#नेटस्क्रीन फायरवॉल के बैकअप कॉन्फ़िगरेशन के लिए स्क्रिप्ट की अपेक्षा करें#जो #कुछ वर्सेट टाइमआउट सेट करें 60सेट उपयोगकर्ता "रूट"सेट पासवर्ड "पासवर्ड"सेट पोर्ट "2022"सेट नेटस्क्रीन "foo.bar.com"सेट आधारित "/mnt/netapp/backups/foo.bar.com" लॉग सेट करें "[टाइमस्टैम्प -फॉर्मेट% Y-%m-%d]-config.txt" मेल को "[email protected]" पर सेट करें "मेल विषय सेट करें" त्रुटि: नेटस्क्रीन बैकअप विफल [टाइमस्टैम्प -फॉर्मेट% Y-%m-%d] "मेलफेल सेट करें" "सेट प्रॉम्प्ट" फू->"

चरण 3: कनेक्ट

जुडिये
जुडिये

स्क्रिप्ट में आगे हम कोशिश करेंगे और कनेक्ट करेंगे। सेंड_यूसर "नेटस्क्रीन बैकअप स्क्रिप्ट\n"send_user "कनेक्टिंग टू $नेटस्क्रीन\n"स्पॉन एसएसएच $उपयोगकर्ता@$नेटस्क्रीन -पी$पोर्ट उम्मीद { "पासवर्ड:" { भेजें "$पासवर्ड\ r" उम्मीद {"$ प्रॉम्प्ट" {send_user "कनेक्टेड"} "अनुमति अस्वीकृत" { send_user "अमान्य पासवर्ड, बाहर निकलना" सेट मेलफेल "अमान्य पासवर्ड, बाहर निकलना" बंद करें } टाइमआउट { send_user "कोई संकेत नहीं लौटा" मेलफेल सेट करें "कोई संकेत नहीं लौटा " बंद करें } } } "होस्ट करने के लिए कोई रास्ता नहीं" { send_user "$netscreen से कनेक्ट करने में असमर्थ\n" सेट मेलफेल "$netscreen से कनेक्ट करने में असमर्थ\n" } "नाम या सेवा ज्ञात नहीं है" { send_user "कनेक्ट करने में असमर्थ $netscreen\n" सेट मेलफेल "$netscreen से कनेक्ट करने में असमर्थ\n" } टाइमआउट{ send_user "टाइमआउट कनेक्टिंग टू $netscreen" सेट मेलफेल "टाइमआउट कनेक्टिंग टू $netscreen" बंद करें } }अगर { $mailfail != "" } { निष्पादन /बिन/मेल -एस$मेलविषय $mailto << "$mailfail" निकास}

चरण 4: पेजिंग बंद करें

पेजिंग बंद करें
पेजिंग बंद करें

आपको नेटस्क्रीन पर पेजिंग - या अधिक प्रॉम्प्ट को बंद करने की आवश्यकता है। #अक्षम करें "अधिक" संकेत भेजें "सेट कंसोल पृष्ठ 0\r" उम्मीद {"$prompt" { send_user "\nपेजिंग अक्षम\n" } डिफ़ॉल्ट { भेजें "स्क्रीनओएस पेजिंग विकल्प को छोड़कर नहीं था।\n" मेलफेल सेट करें "स्क्रीनओएस ने किया पेजिंग विकल्प को छोड़कर नहीं।" बंद करें } टाइमआउट { send_user "स्क्रीनओएस ने पेजिंग विकल्प को छोड़कर नहीं किया\n" मेलफेल सेट करें "स्क्रीनओएस ने पेजिंग विकल्प को छोड़कर नहीं किया।" बंद करें }}अगर { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

चरण 5: कॉन्फ़िगरेशन प्राप्त करें

कॉन्फिग प्राप्त करें
कॉन्फिग प्राप्त करें

अब हमें config. send_user "कॉन्फ़िगरेशन डाउनलोड कर रहा है\n"log_file $basedir/$logsend "get config\r"expect {"$prompt" { log_file send_user "\nकॉन्फ़िगरेशन डाउनलोड किया गया\n" } टाइमआउट { send_user "\nकॉन्फ़िगरेशन डाउनलोड के दौरान त्रुटि।" मेलफेल सेट करें "कॉन्फ़िगरेशन डाउनलोड के दौरान त्रुटि।" }}क्लोज़िफ़ { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

चरण 6: यह देखने के लिए जांचें कि क्या कॉन्फ़िगरेशन सही आकार है

यह देखने के लिए जांचें कि क्या कॉन्फ़िगरेशन सही आकार है
यह देखने के लिए जांचें कि क्या कॉन्फ़िगरेशन सही आकार है

हम यह देखने के लिए जांच करेंगे कि क्या कॉन्फ़िगरेशन कम से कम 1k.set फ़ाइल आकार [फ़ाइल आकार $basedir/$log] है अगर { $filesize <= 1024 } { send_user "नेटस्क्रीन कॉन्फ़िगरेशन बहुत छोटा है, कृपया जांच करें\n" मेलफेल सेट करें " नेटस्क्रीन कॉन्फ़िगरेशन बहुत छोटा है, कृपया जांच करें\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

चरण 7: सफाई

साफ - सफाई
साफ - सफाई

आइए दो सप्ताह से पुराने कॉन्फिग को हटाने के लिए थोड़ा सफाई करें। #2 सप्ताह से अधिक पुराने कॉन्फिगर को हटाएंexec $basedir -name '*config.txt*' -mtime +14 खोजें

चरण 8: सभी एक साथ

यह सब अब एक साथ रखो। यह एक टेक्स्ट फ़ाइल के रूप में संलग्न है। यह किसी भी विफलता पर ईमेल भेजेगा। #!/usr/bin/expect#नेटस्क्रीन फायरवॉल के बैकअप कॉन्फ़िगरेशन के लिए स्क्रिप्ट की अपेक्षा करें#जो#कुछ वर्सेट टाइमआउट सेट करें 60सेट उपयोगकर्ता "रूट"सेट पासवर्ड "पासवर्ड"सेट पोर्ट "2022"सेट नेटस्क्रीन "foo.bar.com"सेट आधारित "/mnt/netapp/backups/foo.bar.com" सेट लॉग "[टाइमस्टैम्प -फॉर्मेट% Y-%m-%d]-config.txt" मेल को "[email protected]" सेट करें मेल विषय सेट करें "त्रुटि: नेटस्क्रीन बैकअप विफल [टाइमस्टैम्प -फॉर्मेट% Y-%m-%d] "मेलफेल सेट करें" "सेट प्रॉम्प्ट" foo-> "send_user "नेटस्क्रीन बैकअप स्क्रिप्ट\n"send_user "$netscreen से कनेक्ट हो रहा है\n"स्पॉन ssh $user@$ नेटस्क्रीन-पी$पोर्ट उम्मीद {"पासवर्ड:" {भेजें "$पासवर्ड\r" उम्मीद {"$प्रॉम्प्ट" { send_user "कनेक्टेड" } "अनुमति अस्वीकृत" { send_user "अमान्य पासवर्ड, बाहर निकलना" सेट मेलफेल "अमान्य पासवर्ड, बाहर निकलना "क्लोज़ } टाइमआउट { send_user "कोई प्रॉम्प्ट नहीं लौटा" सेट मेलफेल "कोई प्रॉम्प्ट नहीं लौटा" क्लोज़ } } } "होस्ट करने के लिए कोई रास्ता नहीं" { send_user "$netscreen से कनेक्ट करने में असमर्थ\n" सेट मेलफेल "$netscreen से कनेक्ट करने में असमर्थ\ n" } "नाम या सेवा ज्ञात नहीं है" { send_user "$netscreen से कनेक्ट करने में असमर्थ\n" s et mailfail "$netscreen से कनेक्ट करने में असमर्थ\n" } टाइमआउट{ send_user "टाइमआउट को $netscreen से कनेक्ट करना" सेट mailfail "Timeout conncting to $netscreen" close } }if {$mailfail != ""} {exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#अब जब वह खत्म हो गया है, तो जारी रखें#"अधिक" प्रॉम्प्ट को अक्षम करें"सेट कंसोल पेज 0\r"उम्मीद {"$prompt" { send_user "\nपेजिंग अक्षम\ n"} डिफ़ॉल्ट { भेजें "स्क्रीनओएस ने पेजिंग विकल्प को छोड़कर नहीं किया।\n" मेलफेल सेट करें "स्क्रीनओएस ने पेजिंग विकल्प को छोड़कर नहीं किया।" बंद करें } टाइमआउट { send_user "स्क्रीनओएस ने पेजिंग विकल्प को छोड़कर नहीं किया\n" मेलफेल सेट करें "स्क्रीनओएस ने पेजिंग विकल्प को छोड़कर नहीं किया।" बंद करें }}अगर { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}send_user "डाउनलोडिंग कॉन्फिगरेशन\n"log_file $basedir/$logsend "get config\r "उम्मीद {"$प्रॉम्प्ट" { log_file send_user "\nकॉन्फ़िगरेशन डाउनलोड किया गया\n"} टाइमआउट { send_user "\nकॉन्फ़िगरेशन डाउनलोड के दौरान त्रुटि।" मेलफेल सेट करें "कॉन्फ़िगरेशन डाउनलोड के दौरान त्रुटि।" }}क्लोज़िफ़ { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit} फाइलसाइज सेट करें [फाइल साइज $basedir/$log]if { $filesize <= 1024 } { send_user "नेटस्क्रीन कॉन्फिगरेशन बहुत छोटा है, कृपया जांच करें\n" मेलफेल सेट करें "नेटस्क्रीन कॉन्फिग बहुत छोटा है, कृपया जांच करें\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#कॉन्फ़िगरेशन निकालें 2 सप्ताह से अधिक पुराना है $basedir -name '*config.txt*' -mtime +14. खोजें

सिफारिश की: