Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Autor joeFollow Još autora:
O: Volim petljati sa bilo čim, ponekad na kraju uspije. Zabavite se gledajući projekte, pokušajte otvoriti nešto i javite mi kako ide. živjeli, -Joe Više o joeu »
Ova instrukcija prikazuje skriptu koja se može koristiti za automatiziranje sigurnosnih kopija zaštitnog zida netscreen -a koji pokreće ScreenOS.
Korak 1: Zahtjevi
Ova skripta je napisana očekivano i pretpostavlja da ste uključili SSH na svom netscreen -u i linux okruženju. Ako niste nikad odjavili, Oreilly ima odličnu knjigu "Exploring Expect"
Korak 2: Varijable
Počet ćemo s postavljanjem nekih varijabli. Vi ćete htjeti 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 firewall -a netscreen -a#Joe #Postavi neko vremensko ograničenje za promenljivu vrednost 60set korisnika "root" postavi lozinku "lozinku" postavi port "2022" postavi netscreen "foo.bar.com" postavi basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Greška: netscreen sigurnosna kopija nije uspjela [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo->"
Korak 3: Povežite se
Zatim ćemo u skripti pokušati spojiti.send_user "NetScren Backup Script / n" send_user "Povezivanje sa $ netscreen / n" spawn ssh $ user@$ netscreen -p $ port očekivati {"lozinku:" {poslati "$ lozinku / r "očekujte {" $ prompt "{send_user" Connected "}" Dozvola odbijena "{send_user" Neispravna lozinka, izlaz iz "set mailfail" Neispravna lozinka, izlazak iz "close} timeout {send_user" Nije vraćen upit "set mailfail" Nije vraćen upit "close}}}" Nema rute do hosta "{send_user" Nije moguće povezati se sa $ netscreen / n "postaviti mailfail" Nije moguće povezati se sa $ 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 hitniji upit na mrežnom ekranu. #Onemogućite "more" promptsend "set console page 0 / r" očekujte {"$ prompt" {send_user "\ nPaging Disabled / n"} default {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 prilikom preuzimanja konfiguracije." set mailfail "Greška prilikom 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čine 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
Obavimo malo čišćenje kako bismo uklonili konfiguracije starije od dvije sedmice. #Ukloni konfiguraciju stariju od 2 sedmicesexec 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 zaštitnih zidova netscreen -a#Joe#Podesite neko vremensko ograničenje za varsset 60set korisnika "root" postavite lozinku "lozinku" 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" Greš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"} "Dozvola odbijena" {send_user "Neispravna lozinka, izlaz" set mailfail "Neispravna lozinka, izlaz "close} timeout {send_user" Nijedan upit nije vraćen "set mailfail" Nije vraćen upit "close}}}" Nema putanje do hosta "{send_user" Nije moguće povezati se sa $ netscreen / n "set mailfail" Nije moguće povezati se sa $ netscreen / n "}" Ime ili usluga nisu poznati "{send_user" Nije moguće povezati se sa $ netscreen / n "s et 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} #Sada je to gotovo, nastavite#Onemogućite "more" promptsend "set console page 0 / r" očekujte {"$ prompt" {send_user "\ nPaging je onemogućen / 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 "} vremensko ograničenje {send_user" / nPogreška prilikom preuzimanja konfiguracije. " set mailfail "Greška prilikom preuzimanja konfiguracije." }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} postavi veličinu datoteke [veličina datoteke $ basedir/$ log] ako je {$ veličina datoteke <= 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} #Uklonite konfiguraciju stariji od 2 tjednasexec pronađite $ basedir -name '*config.txt*' -mtime +14