Linux iptables的备份和恢复操作详解
脚本之家
1、iptables的配置文件位置:/etc/sysconfig/iptables
主控机:即业务运行中的机子;备份机:即主控机故障时,切换到备份的机子
--在主控机上的操作-------------------
2、建立目录:
mkdir -p /bak/iptables/</p>
<p> mkdir /root/script/
3、在/root/script/目录下建立脚本:
vi backup.sh</p>
<p> cp /etc/sysconfig/iptables /bak/iptables/iptables_$(date +%Y%m%d%H)
4、定制自动任务:
crontab -e</p>
<p> */10 * * * * /usr/sbin/ntpdate 210.72.145.44</p>
<p> 10 * * * * sh /root/script/backup.sh
--在备份机上操作---------------------
5、建立目录:
mkdir -p /bak/iptables/{lt,yd} #lt目录放联通跳转的备份,yd目录放移动跳转的备份</p>
<p> mkdir /root/script/
6、在/root/script/目录下建立脚本:
vi scp_lt.sh</p>
<p> #!/usr/bin/expect -f</p>
<p> set password gst</p>
<p> spawn scp -P 22 root@202.105.135.52:/etc/sysconfig/iptables /bak/iptables/lt/iptables</p>
<p> set timeout 300</p>
<p> expect "root@202.105.135.52's password:"</p>
<p> set timeout 300</p>
<p> send "$passwordr"</p>
<p> set timeout 300</p>
<p> send "exitr"</p>
<p> expect eof
7、在/root/script/目录下建立脚本:
vi scp_yd.sh</p>
<p> #!/usr/bin/expect -f</p>
<p> set password gst</p>
<p> spawn scp -P 22 root@183.62.178.91:/etc/sysconfig/iptables /bak/iptables/yd/iptables</p>
<p> set timeout 300</p>
<p> expect "root@183.62.178.91's password:"</p>
<p> set timeout 300</p>
<p> send "$passwordr"</p>
<p> set timeout 300</p>
<p> send "exitr"</p>
<p> expect eof
8、在/root/script/目录下建立脚本:
vi backup.sh</p>
<p> expect /root/script/scp_lt.sh</p>
<p> expect /root/script/scp_yd.sh</p>
<p> sed -i 's/202.105.135.52/183.62.178.85/g' /bak/iptables/lt/iptables</p>
<p> sed -i 's/58.251.49.18/58.250.56.154/g' /bak/iptables/lt/iptables</p>
<p> cp /bak/iptables/lt/iptables /etc/sysconfig/iptables</p>
<p> /etc/init.d/iptables restart</p>
<p> /etc/init.d/iptables save</p>
<p> mv /bak/iptables/lt/iptables /bak/iptables/lt/iptables_$(date +%Y%m%d%H)</p>
<p> mv /bak/iptables/yd/iptables /bak/iptables/yd/iptables_$(date +%Y%m%d%H)
9、注意,要在备份机上手动远程登陆一次,以获得RSA的公钥,之后就不用这样登陆了,否则脚本会执行错误
10、定制自动任务:
crontab -e</p>
<p> */10 * * * * /usr/sbin/ntpdate 210.72.145.44</p>
<p> 20 * * * * sh /root/script/backup.sh