机器之间的文件作备份时最麻烦的事情 总不能定期的打包一个压缩文件 这样做很原始 效率很低下 还好rsync是一个完美的解决方案 它本来用来在unix系操作系统之间做备份 现在普及到win下
rsync有服务器端和客户端 你可以从客户端从服务器端拉下需要备份的文件 也可以从客户端上传文件到服务器端 起到备份作用
首先要在linode vps的linux上安装rsync的服务器端 我的操作系统是ubuntun 9.04 安装方法很简单 apt-get install rsync 安装就搞定了
然后就是要设置rsync 你需要在etc目录创建一个 rsyncd.conf 文件 修改该配置文件 注意 你可以从 /usr/share/doc/rsync/examples/rsyncd.conf 这个位置得到一个rsync自带的例子文件 不过为了方便操作 我还是用 手动来设置 感觉更方便点
uid = root #使用root进程
gid = root
use chroot = no # 不使用chroot 没必要用chroot其实
max connections = 4 # 最大连接数为4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log # 日志记录文件
然后就是设置虚拟目录 这样可以针对每个虚拟目录设置权限 比如可以设置一个web虚拟目录备份指向web文件 也可以设置一个sql目录指向数据库目录备份数据库文件 这样也就能做到给每一个虚拟主机提供一个虚拟目录来访问 每个虚拟目录可以设置密码保护 可以设置访问进程的用户 很不错 很安全
[www] #虚拟目录名
path = /var/www/ #指向的目录 不会漂移出去
comment = web目录 #这个虚拟目录的备注
ignore errors # 可以忽略一些无关的IO错误
read only = yes # 只读
list = no # 不允许列文件
auth users = nickzhuo #认证的用户名,如果没有这行,则表明是匿名
secrets file = /etc/rsyncd.secrets #认证文件名 注意 这个文件的权限需要设置为600 文件内格式为 user1:pass1 一行 如此的格式 对应用户名和密码
现在在ssh下 rsync --daemon 让rsync存在于值守进程中 开机自动运行 然后rsync restart 让rsync重新启动下 到此 服务器端就搞定了 en
又一个重点就是在windows下的 rsync客户端 比较普及的有 cwRsync 我选择了 deltacopy 这个软件挺傻瓜的 关键带一个操作界面 cwRsync是纯文本界面 这2个软件其实都是著名的cygwin加rsync的再打包 deltacopy多了一个图形界面 这点不错
deltacopy现在版本是1.3 他是服务器端和客户端包裹在一起的 当然你可以不启动服务端 单独用它的客户端 安装完成启动deltacopy client 点击add new profile进入新增一个服务器 填入服务器的ip地址 下面可以选择虚拟目录 对应上文的是www 成功添加服务器后 在右边添加一个本地的目录 注意 现在在已经添加服务器名字上右键 restore 那样 就能从服务器端拉回需要备份的www目录了 搞定!~
发表评论