Ինչպես կրկնօրինակել ցանցային էկրանի պատը `8 քայլ
Ինչպես կրկնօրինակել ցանցային էկրանի պատը `8 քայլ
Anonim

Հետևեք հեղինակի ավելին ՝

Մասին. Ես սիրում եմ շոշափել գրեթե ամեն ինչ, երբեմն դա ի վերջո ստացվում է: Funվարճացեք նախագծերին նայելուց, փորձեք ինչ -որ բան բացել և ինձ տեղեկացրեք, թե ինչպես է այն անցնում: cheers, -Joe Ավելին joe- ի մասին »

Այս հրահանգը ցույց է տալիս մի սցենար, որը կարող է օգտագործվել ScreenOS- ով աշխատող ցանցային էկրանի պատնեշի ավտոմատացման համար:

Քայլ 1: Պահանջներ

Այս սցենարը գրված է ակնկալիքով և ենթադրում է, որ SSH- ն միացված է ձեր ցանցային էկրանին և Linux միջավայրին: Եթե դուք երբեք դուրս չեք եկել դուրս գալուց, ակնկալեք, որ Oreilly- ն ունի հիանալի գիրք «Exploring Expect»:

Քայլ 2: Փոփոխականներ

Մենք կսկսենք որոշ փոփոխականների սահմանմամբ: Դուք կցանկանաք սահմանել նավահանգիստը/օգտվողի անունը/գաղտնաբառը/ցանցային/արագ փոփոխականները, որոնք կհամապատասխանեն ձեր միջավայրին: #!/usr/bin/hêvî "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Error: netscreen կրկնօրինակը ձախողվեց [ժամանակային կնիք -ֆորմատ%Y-%m-%d] "set mailfail" "set prompt" foo->"

Քայլ 3: Միացեք

Հաջորդը սցենարի մեջ մենք կփորձենք միացնել: r "ակնկալել {" $ հուշում "{send_user" Connected "}" Թույլտվությունը մերժված է "{send_user" Անվավեր գաղտնաբառ, դուրս գալով "set mailfail" Սխալ գաղտնաբառ, ելք "close} timeout {send_user" No prompt վերադարձված "set mailfail" No prompt վերադարձված "փակել}}}" Հյուրընկալող երթուղի չկա "{send_user" Անհնար է միանալ $ netscreen / n "set mailfail" Անհնար է միանալ $ netscreen / n "}" Անունը կամ ծառայությունը հայտնի չէ "{send_user" Հնարավոր չէ միանալ $ netscreen / n "set mailfail" Անհնար է միանալ $ netscreen / n "} timeout {send_user" $ netscreen- ին միացած timeout "set mailfail" Timeout conncting to $ netscreen "close}} if {$ mailfail! =" "} { exec /bin /mail -s $ mails subject $ mailto << "$ mailfail" exit}

Քայլ 4: Անջատել էջը

Դուք պետք է անջատեք էջանշումը - կամ ավելի արագ հուշումը ցանցային էկրանին: #Անջատել «ավելի շատ» հուշման ուղարկման «հավաքածուի վահանակի էջը 0 / r" ակնկալել {"$ հուշում" {send_user "\ n Էջը անջատված է / n"} կանխադրված {ուղարկել "ScreenOS- ը չհաշված էջանշման տարբերակը: / n" փոստարկղ սահմանել "ScreenOS- ը չհաշված էջանշման տարբերակը »: close} timeout {send_user "ScreenOS- ը չի բացառել paging տարբերակը / n" set mailfail "ScreenOS- ը չի բացառել paging տարբերակը:" փակել}} եթե {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Քայլ 5: Ստացեք կազմաձևում

Այժմ մենք կստանանք կազմաձևը: send_user "Configing Configuration / n" log_file $ basedir/$ logsend "get config / r" expect {"$ prompt" {log_file send_user "\ n Կազմաձևումը ներբեռնվեց / n"} timeout {send_user "\ n Սխալ կոնֆիգուրացիայի ներբեռնման ժամանակ:" set mailfail "Սխալ կոնֆիգուրացիայի ներբեռնման ժամանակ" }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

Քայլ 6: Ստուգեք ՝ տեսնելու, թե արդյոք կազմաձևումը ճիշտ չափի՞ն է

Մենք կիմանանք, թե արդյոք կազմաձևը առնվազն 1k.set ֆայլաչափ է [ֆայլի չափը $ basedir/$ log], եթե {$ filesize <= 1024} {send_user "Netscreen- ի կազմաձևումը չափազանց փոքր է, խնդրում ենք ուսումնասիրել / n" set mailfail " Netscreen- ի կազմաձևումը չափազանց փոքր է, խնդրում ենք ուսումնասիրել / n "exec /bin /mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

Քայլ 7: Մաքրում

Եկեք մի փոքր մաքրենք ՝ երկու շաբաթից ավելի հին կազմաձևերը հեռացնելու համար: #Հեռացնել 2 շաբաթից ավելի կազմաձևը

Քայլ 8: Բոլորը միասին

Դրեք բոլորը միասին հիմա: Այն կցված է որպես տեքստային ֆայլ: Այն կուղարկի նամակներ ցանկացած անհաջողության մասին: #!/usr/bin/hêvî "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Error: netscreen կրկնօրինակը ձախողվեց [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo-> "send_user" NetScren Backup Script / n "send_user" Connecting to $ netscreen / n "spawn ssh $ user@$ netscreen -p $ port ակնկալել {"գաղտնաբառ." {ուղարկել "$ գաղտնաբառ / r" ակնկալել {"$ հուշում" {send_user "Connected"} "Թույլտվությունը մերժված է" {send_user "Անվավեր գաղտնաբառ, ելք" set mailfail "Անվավեր գաղտնաբառ, ելք "close} timeout {send_user" Ոչ մի հուշում չի վերադարձվել "set mailfail" No հուշումը վերադարձված է "close}}}" Հասցե չկա երթուղի "{send_user" $ unetscreen- ին միանալ չի հաջողվում / n "set mailfail" Անհնար է միանալ $ netscreen / \ n "}" Անունը կամ ծառայությունը հայտնի չէ "{send_user" Չհաջողվեց միանալ $ netscreen / n "s et mailfail "Չհաջողվեց միանալ $ netscreen / n"} timeout {send_user "$ netscreen- ին միացած ժամանակի ընդմիջում" set mailfail "$ netscreen to connecting timeout" close}} if {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}#Այժմ, երբ ամեն ինչ ավարտված է, շարունակեք#Անջատեք «ավելի» հուշում ուղարկելու »հավաքածուի վահանակի էջը 0 / r" ակնկալել {"$ հուշում" {send_user "\ n Էջը անջատված է / n "} լռելյայն {ուղարկել" ScreenOS- ը չի բացառել paging տարբերակը: / n "set mailfail" ScreenOS- ը չի բացառել paging տարբերակը: " close} timeout {send_user "ScreenOS- ը չի բացառել paging տարբերակը / n" set mailfail "ScreenOS- ը չի բացառել paging տարբերակը:" փակել}} if {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Configing configuration / n" log_file $ basedir/$ logsend "get config / r "ակնկալել {" $ հուշում "{log_file send_user" / n Կազմաձևումը ներբեռնվեց / n "} timeout {send_user" / n Սխալ ՝ կազմաձևման ներբեռնման ժամանակ: " set mailfail "Սխալ կոնֆիգուրացիայի ներբեռնման ժամանակ" }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} սահմանել ֆայլի չափը [ֆայլի չափը $ basedir/$ log], եթե {$ filesize <= 1024} {send_user "Netscreen- ի կազմաձևը չափազանց փոքր է, խնդրում ենք հետաքննել / n" set mailfail "Netscreen- ի կազմաձևը չափազանց փոքր է, խնդրում ենք ուսումնասիրել / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}#Հեռացնել կազմաձևումը 2 շաբաթից ավելի հին

Խորհուրդ ենք տալիս: