2011年8月31日 星期三

奇科電腦 / 技術小秘訣: 如何利用 bash 的 shell script 自動取得 Cisco 交換器或是路由器的組態設定?

撰寫一個bash的shell script,自動取得Cisco交換器或是路由器的組態設定,如此,我們可以配合UNIX機器上的自動排程機制(CRON),定期備份組態設定。
#!/bin/bash

router=10.10.10.10
password=cisco
enable_mode='enable'
enable_password=cisco
term_length="terminal length"
cmd='show run'

echo open $host
sleep 1
echo $password
sleep 1
echo $enable_mode
sleep 1
echo $enable_password
sleep 1
echo $term_length 0
sleep 1
echo $cmd
sleep 1
echo $term_length 24
sleep 1
echo exit

如果以上的程式名稱為telnet.sh,我們便可以在命令提示字元(prompt)下達指令:

./telnet.sh | telnet

就可以得到IP位址為10.10.10.10的Cisco交換器或是路由器的組態設定了。