Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä ohje näyttää komentosarjan, jota voidaan käyttää valimoverkkojen kytkimen/reitittimen/palomuurin varmuuskopioinnin automatisointiin.
Vaihe 1: Vaatimukset
Tämä skripti käyttää odotuksia automatisoimaan varmuuskopiot ja toimii Linux -järjestelmässä. Jos et ole koskaan tutustunut odotuksiin, Oreillyllä on loistava kirja "Exploring Expect"
Vaihe 2: Muuttujat
Määritä muuttuja. Sinun on vaihdettava käyttäjätunnus, salasana, valimo ja kehotetut muuttujat. #!/usr/bin/expect#Odota komentosarjaa valimolaitteiden varmuuskopiointiin#Joe McManus#Aseta varssetin aikakatkaisu 60set käyttäjä "telnet" aseta salasana "salasana" aseta valimo "Foundry.foo.bar.com" set basedir "/ mnt/netapp/backups/Foundry.foo.bar.com "asetettu loki" [aikaleima -formaatti%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Virhe: valimo varmuuskopiointi epäonnistui [aikaleima -muoto%Y-%m-%d] "aseta mailfail" "aseta kehote" telnet@FLS648"
Vaihe 3: Yhdistä
Tämä komentosarjan osa yrittää muodostaa yhteyden Foundry.send_user "Foundry Backup Script / n" send_user "Yhdistäminen $ Foundry / n" spawn telnet $ castry wait {"Password:" {send "$ password / r" wait {" $ prompt "{send_user" Connected "}" virhe "{send_user" Virheellinen salasana, poistuminen "set mailfail" Virheellinen salasana, poistuminen "close} timeout" {send_user "Ei kehotusta palautettu" aseta mailfail "Ei kehotusta palautettu" close}}} " Ei reittiä isännälle "{send_user" Ei voi muodostaa yhteyttä $ Foundry / n "set mailfail" Ei voi muodostaa yhteyttä $ Foundry / n "}" Nimi tai palvelu ei tiedossa "{send_user" Ei voi muodostaa yhteyttä $ Foundry / n "set mailfail "Ei voi muodostaa yhteyttä $ Foundry / n"} timeout {send_user "Timeout conncting to $ Foundry" aseta mailfail "Timeout conncting to $ Foundry" close}} jos {$ mailfail! = ""} {exec /bin /mail - s $ mailsubject $ mailto << "$ mailfail" exit}
Vaihe 4: Poista haku käytöstä
Poista "lisää" -kehote käytöstä, jotta voimme ladata kokoonpanon. lähetä "ota käyttöön / r" odota {"$ kehote Vaihda#" {send_user "Enabled"} oletus {send_user "Ota käyttöön epäonnistui" aseta mailfail "ScreenOS teki paitsi hakuasetuksen." sulje}} jos {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} send "skip-page-display / r" odottaa {"Poista sivun näyttötila* $ prompt "{send_user" / nKäytön poistaminen käytöstä / n "} oletus {send" ScreenOS ei tehnyt muuta kuin hakuvaihtoehtoa. / n "set mailfail" ScreenOS ei hakenut sivutusasetusta. " close} aikakatkaisu {send_user "ScreenOS ei tehnyt muuta kuin hakuvaihtoehto / n" aseta mailfail "ScreenOS ei tehnyt muuta kuin hakuvaihtoehto." sulje}} jos {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Vaihe 5: Hanki Config
Tämä komentosarjan osa saa kokoonpanon. send_user "Ladataan asetuksia / n" log_file $ basedir/$ logsend "näytä käynnissä / r" odota {"$ prompt" {log_file send_user "\ nMääritykset ladattu / n"} aikakatkaisu {send_user "\ nVirhe määritysten lataamisen aikana." aseta mailfail "Virhe kokoonpanon lataamisen aikana". }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Vaihe 6: Tarkista tiedoston koko
Tarkista tiedoston koko. aseta tiedostokoko [tiedoston koko $ basedir /$ log], jos {$ filesize <= 512} {send_user "Netscreen -määritys on liian pieni, tutki / n" set mailfail "Netscreen -määritys on liian pieni, tutki / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Vaihe 7: Puhdistus
Puhdista yli kaksi viikkoa vanhat kokoonpanot.#Poista kokoonpano, joka on vanhempi kuin 2 viikkoa, weeksexec löytää $ basedir -name '*config.txt*' -mtime +14
Vaihe 8: Laita kaikki yhteen
Laita kaikki yhteen. Käsikirjoitus on liitteenä, se lähettää sähköpostia virheistä.