在对远程线上系统做操作的时候,一定要注意可恢复性,也就是,如果你要远程配置网卡或者防火墙,这些都极有可能在你配置出错的情况下导致你不能正常连接主机,这时候,你可以使用一个定时运行脚本来进行恢复。
可以用at也可以用crontab,at是一次性的,crontab是周期性的,按照你的需求选择要用哪种方式。
这里就写一个我用来远程重启网卡的脚本,以防止如果配置错误导致的网卡无法连接。
同理可以推出用在iptables上的脚本。一定要记住哦,很重要
- #!/bin/bash
- # cat /root/a.sh
- mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak2
- mv /etc/sysconfig/network-scripts/ifcfg-eth0.bak /etc/sysconfig/network-scripts/ifcfg-eth0
- mv /etc/sysconfig/network-scripts/ifcfg-eth0.bak2 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
- mv /etc/sysconfig/network /etc/sysconfig/network.bak2
- mv /etc/sysconfig/network.bak /etc/sysconfig/network
- mv /etc/sysconfig/network.bak2 /etc/sysconfig/network.bak
- service network restart
计划任务用at来调度。这样时间更简单些
- [root@localhost ~]# atq
- [root@localhost ~]# at now + 20 minutes
- at> /root/a.sh
- at> <EOT>
- job 5 at 2011-05-04 10:51
- [root@localhost ~]# atq
- 5 2011-05-04 10:51 a root
- [root@localhost ~]# at -l
- 5 2011-05-04 10:51 a root
最后,如果工作完成顺利,可以不用恢复的话,需要把刚才的任务取消,首先一定要记住刚才的任务编号,这里为5,
- [root@localhost ~]# atq
- 5 2011-05-04 10:51 a root
- [root@localhost ~]# atrm 5
- [root@localhost ~]# atq
- [root@localhost ~]#
首先用 atq 查询任务,查询完了,确认完任务后,删掉任务用 atrm [jobnumber] 就可以把任务删掉了。