Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Autor joeFollow Više od autora:
O: Volim se petljati sa bilo čim, ponekad na kraju uspije. Zabavite se gledajući projekte, pokušajte otvoriti nešto otvoreno i javite mi kako to ide. živjeli, -Joe Više o Joeu »
Ova instrukcija prikazuje skriptu koja se može koristiti za automatiziranje sigurnosnih kopija vatrozida na mrežnom ekranu koji pokreće ScreenOS.
Korak 1: Zahtjevi
Ova je skripta napisana očekivano i pretpostavlja da ste uključili SSH na svom netscreen -u i linux okruženju. Ako niste nikad odjavili, Oreilly ima sjajnu knjigu "Exploring Expect"
Korak 2: Varijable
Počet ćemo s postavljanjem nekih varijabli. Morat ćete postaviti varijable port/korisničko ime/lozinka/netscreen/prompt da odgovaraju vašem okruženju. #!/usr/bin/očekujte#Očekujte skriptu za sigurnosnu kopiju konfiguracije vatrozida za netscreen#Joe #Postavi neko vremensko ograničenje za promjenu vremena 60set korisnik "root" postavi lozinku "lozinka" postavi port "2022" postavi 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" Pogreška: netscreen sigurnosno kopiranje nije uspjelo [timestamp -format%Y-%m-%d] "set mailfail" "postavi upit" foo->"
Korak 3: Povežite se
Sljedeće u skripti pokušat ćemo spojiti.send_user "NetScren Backup Script / n" send_user "Spajanje na $ netscreen / n" spawn ssh $ user@$ netscreen -p $ port očekivati {"lozinku:" {poslati "$ lozinku / r "očekujte {" $ prompt "{send_user" Connected "}" Dopuštenje odbijeno "{send_user" Neispravna lozinka, napuštanje "set mailfail" Neispravna lozinka, izlazak iz "close} timeout {send_user" Nema upita vraćeno "set mailfail" Nije vraćen upit "close}}}" Nema rute do hosta "{send_user" Nije moguće povezati se s $ netscreen / n "postaviti mailfail" Nije moguće povezati se s $ netscreen / n "}" Ime ili usluga nisu poznati "{send_user" Ne mogu se povezati $ netscreen / n "set mailfail" Nije moguće povezati se sa $ netscreen / n "} timeout {send_user" Timeout conncting to $ netscreen "set mailfail" Timeout conncting to $ netscreen "close}} if {$ mailfail! =" "} { exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Korak 4: Isključite Paging
Morate isključiti straničenje - ili više upita na mrežnom zaslonu. #Onemogućite "more" promptsend "set console page 0 / r" očekujte {"$ prompt" {send_user "\ nPaging Disabled / n"} zadano {send "ScreenOS nije osim opcije straničenja. / N" set mailfail "ScreenOS je učinio osim opcije straničenja. " close} timeout {send_user "ScreenOS nije osim opcije straničenja / n" postavio mailfail "ScreenOS nije isključio osim opcije straničenja." zatvori}} ako {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Korak 5: Nabavite Config
Sada ćemo dobiti konfiguraciju. send_user "Preuzimanje konfiguracije / n" log_file $ basedir/$ logsend "get config / r" očekujte {"$ prompt" {log_file send_user "\ nKonfiguracija je preuzeta / n"} vremensko ograničenje {send_user "\ nPogreška tijekom preuzimanja konfiguracije." set mailfail "Pogreška tijekom preuzimanja konfiguracije." }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Korak 6: Provjerite je li konfiguracija odgovarajuće veličine
Znat ćemo provjeriti je li konfiguracija najmanje 1k.set veličina datoteke [veličina datoteke $ basedir/$ log] ako je {$ filesize <= 1024} {send_user "Netscreen konfiguracija je premala, istražite / n" postavite mailfail " Netscreen konfiguracija je premala, istražite / n "exec /bin /mail -s $ mailsubject $ mailto <<" $ mailfail "exit}
Korak 7: Čišćenje
Pokrenimo malo čišćenje kako bismo uklonili konfiguracije starije od dva tjedna. #Ukloni konfiguraciju stariju od 2 tjednasexec pronađi $ basedir -name '*config.txt*' -mtime +14
Korak 8: Svi zajedno
Sada sve to spojite. Priložen je kao tekstualna datoteka. Poslat će e -poštu o svim greškama. #!/usr/bin/očekujte#Očekujte skriptu za sigurnosnu kopiju konfiguracije vatrozida netscreen -a#Joe#Postavite neko vremensko ograničenje za varsset 60set korisnik "root" postavite lozinku "lozinka" postavite port "2022" postavite netscreen "foo.bar.com" postavite basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Pogreška: netscreen sigurnosna kopija nije uspjela [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo-> "send_user" NetScren Skripta sigurnosne kopije / n "send_user" Spajanje na $ netscreen / n "spawn ssh $ user@$ netscreen -p $ port očekivati {"lozinku:" {poslati "$ lozinku / r" očekivati {"$ prompt" {send_user "Povezano"} "Dopuštenje odbijeno" {send_user "Neispravna lozinka, izlaz" set mailfail "Neispravna lozinka, izlaz "close} timeout {send_user" Nijedan upit nije vraćen "set mailfail" Nijedan upit nije vraćen "close}}}" Nema rute do hosta "{send_user" Nije moguće povezati se s $ netscreen / n "set mailfail" Nije moguće povezati se s $ netscreen / n "}" Ime ili usluga nisu poznati "{send_user" Nije moguće povezati se s $ netscreen / n "s et mailfail "Nije moguće povezati se s $ netscreen / n"} timeout {send_user "Timeout conncting to $ netscreen" set mailfail "Timeout conncting to $ netscreen" close}} if {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Sada je to gotovo, nastavite#Onemogućite "more" promptsend "set console page 0 / r" očekujte {"$ prompt" {send_user "\ nPageniranje je onemogućeno / n "} default {send" ScreenOS nije osim opcije straničenja. / n "set mailfail" ScreenOS nije osim opcije straničenja. " close} timeout {send_user "ScreenOS nije osim opcije straničenja / n" postavio mailfail "ScreenOS nije isključio osim opcije straničenja." close}} if {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Preuzimanje konfiguracije / n" log_file $ basedir/$ logsend "get config / r "očekujte {" $ prompt "{log_file send_user" / nPreuzeta konfiguracija / n "} istek vremena {send_user" / nPogreška tijekom preuzimanja konfiguracije. " set mailfail "Pogreška tijekom preuzimanja konfiguracije." }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} postavi veličinu datoteke [veličina datoteke $ basedir/$ log] ako je {$ filesize <= 1024} {send_user "Netscreen konfiguracija je premala, istražite / n" set mailfail "Netscreen konfiguracija je premala, istražite / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Remove config stariji od 2 tjednasexec pronađi $ basedir -name '*config.txt*' -mtime +14