使用 rsync 或 unison 备份或同步支持 ssh 的 web 主机 | 林健的BLOG

blog.linjian.org/articles/rsync-unison-ssh/ view page cached page
使用 web 主机而非 VPS 的站长,站点的备份或同步常常是一个问题。很多站点只能使用 ftp 做单向备份,基于较弱的元信息来判定文件是否需要重新下载,缺乏校验、压缩、增量传输等高级特性。有的服务商在 web 控制面板中提供备份功能,或允许上传简单的 cron... more使用 web 主机而非 VPS 的站长,站点的备份或同步常常是一个问题。很多站点只能使用 ftp 做单向备份,基于较弱的元信息来判定文件是否需要重新下载,缺乏校验、压缩、增量传输等高级特性。有的服务商在 web 控制面板中提供备份功能,或允许上传简单的 cron 脚本,但这些途径通常只适合备份整站或指定目录,而不方便以增量方式传输更新过的内容。Linux 下成熟的镜像同步工具是 rsync,如果你的 web 主机允许 ssh 登录,则可以考虑使用 rsync 或其它类似工具。 网上有很多说法认为 web 主机不允许跑 daemon、不允许开自定义端口,故而无法使用 rsync。其实不然,rsync 可以仅通过 ssh 连接而不需要开放额外的端口,服务端也可以借助 sshd 来启动而不需要作为 daemon 运行。我们需要的只是 ssh 登录以及运行自己上传的程序的权限。我使用的 Godaddy Economy Plan Hosting (Linux) 即属于这种情况。 Godaddy 的 web 主机不提供 rsync 程序,我们可以从本地上传一个。需要注意上传的 rsync 二进制文件应该与你的 web 主机的平台一致,连接 libc、libpopt 等库的版本一致。对于使用 x86 版 CentOS 5.2 的 Godaddy 主机,我也直接在相同版本的 CentOS 中提取了一个 rsync 上传。这时,在客户端使用“-e”参数指定连接方式为 ssh,用“--rsync-path”参数指定服务端 rsync 所在的位置,即可借助 ssh 连接传输数据了。 1. rsync -vzrtopgl --progress --delete -e ssh view page



All posts about this link

  • share this page on Twitter
  • rss feed for linjian.org
  • alerts create email alert for linjian.org
Copy and paste this code below into your website:
customize »