ssh+sync+expect备份方法

[ 文章作者:钟艺东 最后修改:2010年2月8日 ]
[ 文章链接:http://www.g868.com/ssh-sync-expect-backup-methods.html ]

rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。相对tar和wget来说,rsync 也有其自身的优点,比如速度快、安全、高效;

rsync

我们平常运用的rsync备份方法均是利用典型的rsync备份方法,服务器需要备份就需要配置rsync deamon服务,然后在Backup服务器上配置计划任务。该方式显得非常的复杂,如果架构或IP地址发生变化,那么就必须到各相关设备进行配置修改。该部分的配置我就不叙述,Google一下就知道。

ssh+sync+expect备份方法则可以集中的在一台服务器上进行配置与管理,即使增加节点也一样方便。方法如下:

1.创建备份脚本backup.sh

vi backup.sh

rsync -avz --rsh="ssh -l root" 192.168.50.21:/opt/wwwroot /backup/hostname

2.创建密码录入脚本backup.exp

vi backup.exp

#!/usr/bin/expect -f
#
spawn date "+%Y-%m-%d %H:%M"
expect "#"
spawn backup.sh
expect "password:" { send "root密码\n" }
expect ".*\@.*#"

该expect命令需要安装expect包,具体可以在安装光盘内找到。

3.创建计划任务

crontab -e

10 * * * * backup.exp >> backup.log

如果需要增加新的节点,仅需重复以上步骤即可实现。

以上仅大致思路,严谨做法请大家再深入思考!
2010年2月8日
本文目前尚无任何评论.

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">