指定したフォルダへの Cisco デバイスのバックアップを自動化するスクリプトを作成しました。/home/myusername/バックアップ
私が達成したいのは、スクリプトを週に 1 回実行し、出力を Backups フォルダーにダンプすることですが、それらを上書きする代わりに、古い構成を別のディレクトリに保存することです。可能であれば、1 か月分のバックアップを保持したいと考えています。スクリプトが実行され、新しい出力が書き込まれると、以前のコピーはファイル ツリーの下に移動します。ファイル ツリーは次のようになります。
/Backups(newest backup)
--1_Week_Old
--2_Weeks_Old
--3_Weeks_Old
--4_Weeks_Old
これは私が書いた既存のスクリプトの例です。うまく機能しますが、経験を積めば短縮できることはわかっています。私はスクリプトを書くのが初めてなので、簡単に....
#!/usr/bin/expect
set timeout 20
# These are all the IP's:
set ip1 "X.X.X.X"
#These are all the hostnames:
set hostname1 "ASA_Firewall"
#These are the usernames
set username "RickyBobby"
# These are all the passwords:
set password "xxxxxxx"
set enableasa "xxxxxxxxx"
#This is the ASA Firewall - Point TFTP Directory to C:\cygwin\home\RickyBobby\Backups
spawn ssh $ip1
expect "password:"
send "$password\r"
expect ">" {
send "en\n"
expect "Password:"
send "$enableasa\r"
}
expect "#"
send "copy run tftp://X.X.X.X/Backups/$hostname1-confg\r"
expect "Source filename?"
send "\r"
expect "Address or name of remote host?"
send "X.X.X.X\r"
expect "Destination filename?"
send "\r"
expect "#"
send "exit\r"
私はまだ学習過程にあるので、どんな助けでも大歓迎です。ありがとう!