红联Linux门户
Linux帮助

Linux iptables异机备份、恢复实例

发布时间:2014-11-02 15:14:11来源:linux网站作者:wang7dao

1、iptables的配置文件位置:/etc/sysconfig/iptables
主控机:即业务运行中的机子;备份机:即主控机故障时,切换到备份的机子

在主控机上的操作


2、建立目录:
mkdir -p /bak/iptables/
mkdir /root/script/


3、在/root/script/目录下建立脚本:
vi backup.sh

\cp /etc/sysconfig/iptables /bak/iptables/iptables_$(date +%Y%m%d%H)


4、定制自动任务:
crontab -e
*/10 * * * * /usr/sbin/ntpdate 210.72.145.44
10 * * * * sh /root/script/backup.sh

在备份机上操作


5、建立目录:
mkdir -p /bak/iptables/{lt,yd}    #lt目录放联通跳转的备份,yd目录放移动跳转的备份
mkdir /root/script/


6、在/root/script/目录下建立脚本:
vi scp_lt.sh

#!/usr/bin/expect -f
set password gst
spawn scp -P 22 root@202.105.135.52:/etc/sysconfig/iptables /bak/iptables/lt/iptables
set timeout 300
expect "root@202.105.135.52's password:"
set timeout 300
send "$password\r"
set timeout 300
send "exit\r"
expect eof


7、在/root/script/目录下建立脚本:
vi scp_yd.sh

#!/usr/bin/expect -f
set password gst
spawn scp -P 22 root@183.62.178.91:/etc/sysconfig/iptables /bak/iptables/yd/iptables
set timeout 300
expect "root@183.62.178.91's password:"
set timeout 300
send "$password\r"
set timeout 300
send "exit\r"
expect eof


8、在/root/script/目录下建立脚本:
vi backup.sh

expect /root/script/scp_lt.sh
expect /root/script/scp_yd.sh
sed -i 's/202.105.135.52/183.62.178.85/g' /bak/iptables/lt/iptables
sed -i 's/58.251.49.18/58.250.56.154/g' /bak/iptables/lt/iptables
\cp /bak/iptables/lt/iptables /etc/sysconfig/iptables
/etc/init.d/iptables restart
/etc/init.d/iptables save
mv /bak/iptables/lt/iptables /bak/iptables/lt/iptables_$(date +%Y%m%d%H)
mv /bak/iptables/yd/iptables /bak/iptables/yd/iptables_$(date +%Y%m%d%H)


9、注意,要在备份机上手动远程登陆一次,以获得RSA的公钥,之后就不用这样登陆了,否则脚本会执行错误


10、定制自动任务:
crontab -e
*/10 * * * * /usr/sbin/ntpdate 210.72.145.44
20 * * * * sh /root/script/backup.sh