四、 批量备份交换机配置脚本
[root@test-syslog-o /]#mkdir -p /var/script/backup/tftp
1. [root@test-syslog-obackup]# vi loginfo.exp
#!/usr/bin/expect
set ip [lindex $argv 0]
spawn ssh -v -1 -c des -q -oStrictHostKeyChecking=no [email protected]@$ip
expect "*password:"
send "123456.Aa\r"
expect "*>"
send "tftp 172.16.0.52 put vrpcfg.zip\r"
expect ">"
set timeout 10
send "quit\n"
set timeout 10
expect eof
2. [root@test-syslog-obackup]#vi loop.sh
#!/bin/sh
while read ip
do
expect loginfo.exp $ip
mv /var/script/backup/tftp/vrpcfg.zip /var/script/backup/tftp/$ip.zip
done < ip.txt
3. [root@test-syslog-obackup]#vi tar.sh
#!/bin/sh
/bin/sh loop.sh
cd /var/script/backup/tftp
tar -zcvf $(date +%Y%m%d).tar.gz *.zip
rm -rf /var/script/backup/tftp/ *.zip
/bin/cp -rf /var/script/backup/tftp/$(date+%Y%m%d).tar.gz /mnt/share/Switch/BJ/configure
/bin/sh script.sh
4.做计划任务,保留120天以内的备份文件,因生成的文件以日期及时间命名,所以写以下脚本:
[root@test-syslog-obackup]# vi script.sh
#!/bin/bash
i=120
while [ $i -le 150 ]
do
tm=`date -d "-${i}days" +%Y%m%d`
i=$(( $i +1 ))
rm -f /mnt/share/Switch/BJ/configure/$tm*
rm -f /mnt/share/Switch/BJ/arp/$tm*
rm -f /mnt/share/Switch/BJ/mac/$tm*
rm -f /mnt/share/Switch/BJ/dhcp-snooping/$tm*
rm -f /var/script/mac/log/$tm*
rm -f /var/script/backup/tftp/$tm*
rm -f /var/script/dhcp-snooping/log/$tm*
rm -f /var/script/arp/log/$tm*
done
5. [root@test-syslog-oopt]#vi ip.txt
172.16.100.1
172.16.100.2
……
172.16.100.254
五、 计划任务自动拷贝到windows共享服务器
1. 将windows共享挂载到/mnt/share
[root@test-syslog-o /]mount -t cifs [email protected],password=p@ssw0rd //172.16. 0.200/Backup/mnt/share
2. 编辑rc.local开机自动挂载windows共享
[root@test-syslog-o /]vi /etc/rc.local
mount -t cifs -o [email protected],password=p@ssw0rd//172.16.0.200/Backup /mnt/share/
3. 编辑crontab计划任务
[root@test-syslog-o /]crontab -e
00 2 * * * cd /var/script/backup && /bin/sh-x tar.sh
30 11 * * * cd /var/script/mac && /bin/sh-x tar.sh
00 17 * * * cd /var/script/mac && /bin/sh-x tar.sh
30 10 * * * cd /var/script/dhcp-snooping &&/bin/sh -x tar.sh
30 16 * * * cd /var/script/dhcp-snooping &&/bin/sh -x tar.sh
00 11 * * * cd /var/script/arp && /bin/sh-x tar.sh
00 16 * * * cd /var/script/arp && /bin/sh-x tar.sh