Kaip sukurti atsarginę kopiją „Netscreen“užkardoje: 8 žingsniai
Kaip sukurti atsarginę kopiją „Netscreen“užkardoje: 8 žingsniai
Anonim

Sekite daugiau autoriaus:

Apie: Man patinka sugalvoti beveik viską, kartais tai pavyksta. Smagiai žiūrėkite į projektus, pabandykite ką nors atplėšti ir praneškite man, kaip tai vyksta. sveiki, -Joe Daugiau apie Džo »

Šioje instrukcijoje rodomas scenarijus, kurį galima naudoti automatizuojant tinklo ekrano užkardos, kurioje veikia „ScreenOS“, atsargines kopijas.

1 žingsnis: Reikalavimai

Šis scenarijus parašytas tikėtinai ir daro prielaidą, kad jūsų tinklo ekrane ir „Linux“aplinkoje įjungtas SSH. Jei niekada nesitikėjote, „Oreilly“turi puikią knygą „Exploring Expect“https://oreilly.com/catalog/9781565920903/

2 žingsnis: kintamieji

Pradėsime nuo kai kurių kintamųjų nustatymo. Norėsite nustatyti prievadą/naudotojo vardą/slaptažodį/tinklo ekraną/raginimo kintamuosius, kad jie atitiktų jūsų aplinką. #!/usr/bin/wait#Tikėtis scenarijaus, kad būtų sukurtos atsarginės tinklo ekrano užkardų konfigūracijos atsarginės kopijos#Joe #Set some Varsset timeout 60set user "root" set password "password" set port "2022" set netscreen "foo.bar.com" set basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Klaida: netscreen atsarginės kopijos kūrimas nepavyko [laiko žyma -formatas%Y-%m-%d] "set mailfail" "set prompt" foo->"

3 žingsnis: prijunkite

Toliau scenarijuje bandysime prisijungti. r "tikėtis {" $ prompt "{send_user" Prisijungta "}" Leidimas atmestas "{send_user" Neteisingas slaptažodis, išeinama iš "set mailfail" Netinkamas slaptažodis, išeinant iš "close} timeout" "close}}}" Nėra prieglobos maršruto "{send_user" Nepavyko prisijungti prie $ netscreen / n "set mailfail" Nepavyko prisijungti prie $ netscreen / n "}" Pavadinimas ar paslauga nežinomi "{send_user" Nepavyko prisijungti prie $ netscreen / n "set mailfail" Nepavyko prisijungti prie $ netscreen / n "} timeout {send_user" Timeout conncting to $ netscreen "set mailfail" Timeout conncting to $ netscreen "close}}, jei {$ mailfail! =" "} { exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

4 veiksmas: išjunkite puslapių paiešką

Turite išjungti puslapių paiešką arba daugiau raginimų tinklo ekrane. #Neleisti „daugiau“raginimo nustatyti konsolės puslapio 0 / r "tikėtis {" $ prompt "{send_user" / nNaujienų išjungimas / n "} numatytasis {send" ScreenOS neatsirado, išskyrus puslapio parinktį. / N "set mailfail" ScreenOS padarė išskyrus ieškos parinktį “. uždaryti} skirtasis laikas {send_user "„ ScreenOS “išskyrė ne tik puslapio peržiūros parinktį / n" set mailfail "„ ScreenOS "išskyrė ne tik puslapio parinktį." uždaryti}} jei {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

5 veiksmas: gaukite konfigūraciją

Dabar gausime konfigūraciją. send_user "Atsisiunčiama konfigūracija / n" log_file $ basedir/$ logsend "get config / r" tikėtis {"$ prompt" {log_file send_user "\ nKonfigūracija atsisiųsta / n"} timeout {send_user "\ nKlaida atsisiunčiant konfigūraciją." nustatykite „mailfail“„Klaida atsisiunčiant konfigūraciją“. }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

6 veiksmas: patikrinkite, ar konfigūracija yra tinkamo dydžio

Žinosime, kad patikrintumėte, ar konfigūracija ne mažesnė kaip 1k.set fileize [failo dydis $ basedir/$ log], jei {$ filesize <= 1024} {send_user "Tinklo ekrano konfigūracija per maža, ištirkite / n" set mailfail " „Netscreen“konfigūracija per maža, ištirkite / n "exec /bin /mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

7 žingsnis: valymas

Leiskite šiek tiek išvalyti, kad pašalintumėte senesnes nei dviejų savaičių konfigūracijas. #Pašalinti senesnę nei 2 konfigūraciją weeksexec rasti $ basedir -name '*config.txt*' -mtime +14

8 žingsnis: visi kartu

Sudėkite viską dabar. Jis pridedamas kaip tekstinis failas. Jis išsiųs el. Laiškus apie bet kokias nesėkmes. #!/usr/bin/wait#Tikėtis scenarijaus, kad būtų sukurtos atsarginės tinklo ekrano užkardų konfigūracijos atsarginės kopijos#Joe#Nustatykite tam tikrą „Warsset“skirtąjį laiką "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Klaida: netscreen atsarginė kopija nepavyko [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo-> "send_user" NetScren atsarginės kopijos scenarijus / n "send_user" Prisijungimas prie $ netscreen / n "spawn ssh $ user@$ netscreen -p $ port wait {"password:" {send "$ password / r" wait {"$ prompt" {send_user "Connected"} "Leidimas atmestas" {send_user "Neteisingas slaptažodis, išeinama" set mailfail "Netinkamas slaptažodis, išeinama "close} timeout {send_user" Paraginimas negrąžintas "nustatė pašto dėžutę" Paraginimo negrąžino "uždaryti}}}" Nėra maršruto į pagrindinį kompiuterį "{send_user" Nepavyko prisijungti prie $ netscreen / n "nustatyti mailfail" Nepavyko prisijungti prie $ netscreen / n "}" Vardas ar paslauga nežinomi "{send_user" Nepavyko prisijungti prie $ netscreen / n "s et mailfail "Nepavyksta prisijungti prie $ netscreen / n"} timeout {send_user "Timeout conncting to $ netscreen" nustatyti mailfail "Timeout conncting to $ netscreen" close}} jei {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Dabar, kai viskas baigta, tęskite n "} numatytasis {siųsti" „ScreenOS“išskyrė ne tik ieškos parinktį. / n "set mailfail" „ScreenOS“išskyrė ne tik puslapio parinktį. " uždaryti} skirtasis laikas {send_user "„ ScreenOS “išskyrė ne tik puslapio peržiūros parinktį / n" set mailfail "„ ScreenOS "išskyrė ne tik puslapio parinktį." uždaryti}} jei {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Atsisiunčiama konfigūracija / n" log_file $ basedir/$ logsend "get config / r "tikėtis {" $ prompt "{log_file send_user" / nKonfigūracija atsisiųsta / n "} skirtasis laikas {send_user" / nKlaidos dėl konfigūracijos atsisiuntimo. " nustatykite „mailfail“„Klaida atsisiunčiant konfigūraciją“. }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} nustatyti failo dydį [failo dydis $ basedir/$ log], jei {$ filesize <= 1024} {send_user "Netscreen konfigūracija per maža, prašome ištirti / n" set mailfail "Netscreen konfigūracija per maža, ištirkite / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}#Pašalinti konfigūraciją vyresni nei 2 weeksexec rasti $ basedir -name '*config.txt*' -mtime +14