4.3.9 定期rsync快照
当你对你的rsync配置满意时,你可以在主服务器上添加一个cron作业,按一定时间间隔定期执行rsync操作,例如:要每30分钟同步一次/www目录中的数据,你可以作为web用户登陆到主服务器上运行下面的命令:
#crontab -e
这个命令将在vi编辑器中打开当前web用户的crontab文件[9],你将看到这个文件是空的,因为你还没有为web用户设置任何cron作业,要添加一个作业,按一下i键,然后插入下面的文本内容:
30 * * * * rsync -v -a -z -e ssh --delete /www/ 10.1.1.2:/www > /dev/null 2>&1
注意:你可以在这个文件中添加注释,只需要在注释行前加上#字符即可,例如:
# This is a job to synchronize our files to the backup server.
30 * * * * rsync -v -a -z -e ssh --delete /www/ 10.1.1.2:/www
然后按ESC键,再输入:wq保存并退出文件。
我们在这行的末尾添加了>/dev/null 2>&1来阻止cron作业每半个小时当cron作业运行时发送一封邮件信息(来自rsync命令的输出被发送到/dev/null设备,意味着命令输出被忽略了),你可能更喜欢用日志记录这个命令的输出,那样的话,你就应该修改这个命令的/dev/null为存储日志文件的路径和日志文件名。
要想让这个命令仅在失败时发送一封邮件信息,你可以象下面这样修改这个命令:
rsync -v -a -z -e ssh --delete /www/ 10.1.1.2:/www || echo "rsync failed" | mail admins@yourdomain.com
使用rsync复制高可用配置文件
在一个Linux企业集群中,我们需要建立高可用服务器对(使用Heartbeat软件包,本书后面的部分会讨论)来支撑集群,这些高可用服务器将为集群做一些事情,如提供打印服务、使用集群对入站请求进行负载平衡、为集群节点提供用户账号认证信息,以及其他帮助集群正常运行的事情。
大多数功能(除了负载均衡)将被放在叫做集群节点管理器的高可用服务器对上,集群节点管理器将帮助支撑集群(打印、用户认证等)将一个处于待命状态的备用服务器取代主服务器(如果主服务器停机),要这样做,备用集群节点管理器 -- 以及在高可用服务器对中的每个备用服务器 -- 需要使用与主服务器一样的配置文件,系统管理员可以在主服务器和备用服务器上通过手工编辑创建相同的配置文件,但是这个方法很容易出错并且维护也比较困难,一个更简单的方法是使用rsync通过Open SSH提供的安全数据传输功能,通过网络保持备用服务器的配置文件与主服务器的配置文件一致即可,使用这种方法还可以将命令写成脚本,然后通过cron作业使得复制过程全部自动化、规则化。
这里有一个简单的样例脚本,它复制Heartbeat程序自身的配置文件[10]、Mon监视进程(第17章有描述)和LPRng打印系统(第19章有描述)的配置文件。
#!/bin/bash
#
# rsync script to copy configuration files between primary
# and backup servers.
#
backup_host="10.1.1.2"
OPTS="--force --delete --recursive --ignore-errors -a -e ssh -z"
rsync $OPTS /etc/ha.d/ $backup_host:/etc/ha.d/
rsync $OPTS /etc/hosts $backup_host:/etc/hosts
rsync $OPTS /etc/printcap $backup_host:/etc/printcap
rsync $OPTS /var/spool/lpd/ $backup_host:/var/spool/lpd/
rsync $OPTS /etc/mon $backup_host:/etc/mon
rsync $OPTS /usr/lib/mon/ $backup_host:/usr/lib/mon/
注意:目录结尾包括以“/”,第18章有这个脚本的另一个例子,当它使用在一个服务器上时它将为集群运行成批的cron作业。
在本书附带的光盘中也提供了这个脚本文件,正常情况下,复制配置文件时,你需要使用root账号,尽管在你不想使用root账号复制配置文件时你可以使用sudo程序(参考sudo的man手册获取详细信息),然后这个脚本作为一个root cron作业定期运行在备用服务器上(在下一小节,我们将描述如何创建一个cron作业条目)。
要查看你的cron作业清单,输入:
#crontab -l
这个cron作业将在下一个30分钟后见效。
crontab文件的格式在man手册的第5页,要阅读这个man页面,输入:
#man 5 crontab
注意:参考第1章的内容确保crond守护进程每次是随系统启动而启动的。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 浏览器的战国时代 · Windows Server 2008专.. · 程序员如何成长? · C#技术开发指南 |
· 虚拟化技术还有点“虚” · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 · SQL Server入门到精通 |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · C#技术开发指南 · Apache技术专题 · Windows集群服务应用 |
· C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 |
|||