INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Volg meer deur die skrywer:
Oor: Ek hou daarvan om met omtrent alles te peuter, soms werk dit uiteindelik uit. Geniet die projekte, probeer om iets oop te skeur en laat weet hoe dit verloop. Cheers, -Joe Meer oor joe »
Hierdie instruksies toon 'n script wat gebruik kan word om rugsteun van 'n netwerk skerm firewall met ScreenOS te outomatiseer.
Stap 1: Vereistes
Hierdie skrif is in verwag geskryf en veronderstel dat u SSH op u netscreen en 'n Linux -omgewing aangeskakel het. As u nog nooit uitgekom het nie, het Oreilly 'n wonderlike boek "Exploring Expect"
Stap 2: Veranderlikes
Ons sal begin met die stel van 'n paar veranderlikes. U wil die poort/gebruikersnaam/wagwoord/netscreen/prompt veranderlikes stel om by u omgewing te pas. #!/usr/bin/expect#Verwag dat script na 'n rugsteunkonfigurasie van die netwerksweermuurmure rugsteun "/mnt/netapp/backups/foo.bar.com"set log" [tydstempel -formaat%Y-%m-%d] -config.txt "stel mailto" [email protected] "stel mailsubject" Fout: netscreen rugsteun misluk [tydstempel -formaat%Y-%m-%d] "stel posfout" "stel prompt" foo-> "in
Stap 3: Koppel
Volgende in die script sal ons probeer om connect.send_user "NetScren Backup Script / n" send_user "Verbind met $ netscreen / n" spawn ssh $ user@$ netscreen -p $ port verwag {"password:" {send "$ password / r "verwag {" $ prompt "{send_user" Connected "}" Toestemming geweier "{send_user" Ongeldige wagwoord, verlaat "set mailfail" Ongeldige wagwoord, verlaat "close} time -out {send_user" Geen prompt terug nie "stel posfail" Geen prompt terug nie "close}}}" Geen roete na gasheer nie "{send_user" Kon nie aan $ netscreen koppel nie / n "stel posfail" Kon nie aan $ netscreen koppel nie / n "}" Naam of diens nie bekend nie "{send_user" Kan nie aanskakel nie $ netscreen / n "set mailfail" Kan nie koppel aan $ netscreen / n "} time -out {send_user" Time -out wat verband hou met $ netscreen "stel mailfail" Time -out in verbinding met $ netscreen "close}} as {$ mailfail! =" "} { exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Stap 4: Skakel blaai uit
U moet paging uitskakel - of die vinniger op die netskerm. #Deaktiveer die "meer" promptsend "stel konsole bladsy 0 / r" verwag {"$ prompt" {send_user "\ nPaging Disabled / n"} verstek {send "ScreenOS het nie behalwe blaai opsie nie. / N" stel mailfail "ScreenOS het nie behalwe oproepopsie nie. " close} time -out {send_user "ScreenOS het nie behalwe blaai -opsie nie / n" mailfail gestel "ScreenOS het nie behalwe blaai -opsie nie." close}} as {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Stap 5: Kry konfig
Ons kry nou die config. send_user "Konfigurasie aflaai / n" log_file $ basedir/$ logsend "get config / r" verwag {"$ prompt" {log_file send_user "\ nKonfigurasie afgelaai / n"} time -out {send_user "\ nFout tydens aflaai van konfigurasie." stel mailfail in "Fout tydens aflaai van konfigurasie." }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Stap 6: Kyk of die konfigurasie die regte grootte het
Ons sal weet of die konfigurasie ten minste 1k.set lêergrootte is [lêergrootte $ basedir/$ log] as {$ lêergrootte <= 1024} {send_user "Netscreen -opset te klein is, ondersoek / n" stel posfout in " Die konfigurasie van Netscreen is te klein; ondersoek asseblief / n "exec /bin /mail -s $ mailsubject $ mailto <<" $ mailfail "exit}
Stap 7: Skoonmaak
Laat ons 'n bietjie skoonmaak om konfigs ouer as twee weke te verwyder. #Verwyder konfigurasie ouer as 2 weke seeks vind $ basedir -name '*config.txt*' -mtime +14
Stap 8: Alles saam
Sit alles nou saam. Dit word as 'n tekslêer aangeheg. Dit sal e -posse stuur oor enige mislukkings. #!/usr/bin/verwag#Verwag dat script na 'n rugsteunkonfigurasie van die netwerks firewalls rugsteun "/mnt/netapp/backups/foo.bar.com"set log" [tydstempel -formaat%Y-%m-%d] -config.txt "stel mailto" [email protected] "stel mailsubject" Fout: netscreen rugsteun misluk [tydstempel -formaat%Y-%m-%d] "stel posfout" "stel prompt" foo-> "stuur_gebruiker" NetScren rugsteunkrips / n "stuur_gebruiker" Verbind met $ netscreen / n "spawn ssh $ user@$ netscreen -p $ port verwag {"wagwoord:" {stuur "$ wagwoord / r" verwag {"$ prompt" {send_user "Connected"} "Toestemming geweier" {send_user "Ongeldige wagwoord, verlaat" set mailfail "Ongeldige wagwoord, verlaat "close} time -out {send_user" Geen prompt teruggestuur nie "stel posfail" Geen prompt teruggestuur "close}}}" Geen roete na gasheer nie "{send_user" Kon nie aan $ netscreen koppel nie / n "stel mailfail" Kon nie aan $ netscreen koppel nie n "}" Naam of diens nie bekend nie "{send_user" Kon nie aan $ netscreen / n "s koppel nie et mailfail "Kon nie aan $ netscreen koppel nie / n"} timeout {send_user "Timeout verbind met $ netscreen" stel mailfail "Timeout verbind met $ netscreen" close}} as {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Noudat dit verby is, gaan voort#Deaktiveer die "meer" promptsend "stel konsole bladsy 0 / r" verwag {"$ prompt" {send_user "\ nPaging Disabled / n "} verstek {stuur" ScreenOS het nie die oproepopsie uitgesluit nie. / n "stel e -posfout in" ScreenOS het nie die oproepopsie uitgesluit nie. " close} time -out {send_user "ScreenOS het nie behalwe blaai -opsie nie / n" mailfail gestel "ScreenOS het nie behalwe blaai -opsie nie." close}} as {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Konfigurasie aflaai / n" log_file $ basedir/$ logsend "kry config / r "verwag {" $ prompt "{log_file send_user" / nKonfigurasie afgelaai / n "} time -out {send_user" / nFout tydens aflaai van konfigurasie. " stel mailfail in "Fout tydens aflaai van konfigurasie." }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} stel lêergrootte [lêergrootte $ basedir/$ log] in as {$ filesize <= 1024} {send_user "Netscreen config is te klein, ondersoek asseblief / n" stel mailfail in "Netscreen config is te klein, ondersoek / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Remove config ouer as 2 weke seeks vind $ basedir -name '*config.txt*' -mtime +14