rsync
zsync
linux 上还有其他更好的同步/备份工具吗?我有一个本地安装的站点,一个 wiki。我希望对我的本地站点进行更改,然后只想按一个按钮:D 或在文件夹上运行命令,它应该检查我的本地文件与实时站点文件的差异,并在我希望的方向。
这就是为什么 filezilla/cuteFTP 不起作用的原因,因为它们不执行任何 Diff,只会替换整个文件夹,效率非常低。如果有任何可用于 rsync/zsync 的前端,那就太棒了。最好将 zsync 作为站点,它针对 http 传输进行了调整。
听起来您想使用
svn
/Subversion之类的版本控制工具,git
而不是 rsync。它完全符合您的需求以及在编辑出现问题时回滚的好处。查看Subersion 主页和/或git HOWTO。
wiki 倾向于内置修订控制,并且许多是基于文件的(而不是存储在数据库中),因此 rsync 应该可以正常工作。我知道有人为“TWiki”这样做是为了将他们的安装复制到多个服务器。
也许您只有 'ftp' 访问您的 wiki 文件?您可能会考虑使用设置了递归 (-r) 和时间戳 (-N) 标志的 ftp(而不是 http 接口)提取“wget”,以便它只传输“较新”的文件(这不完全是差异)。
一旦您拥有 ftp 服务器上的内容的“副本”,您就会以某种方式标记更新时间(通常只需“触摸”特定的标记文件)。然后,您可以通过本地安装的同一 wiki 进行正常编辑,然后使用“find $dir --newer touchmarkerfile”来识别 ftp 的更新,并通过 ftp 交付工具周围的脚本传输它们。
我以前使用过这样的解决方案(尽管我的优势是通过'wget'将更改吸回主服务器,所以再次使用递归时间戳方法。
事后看来,如果我有 'ssh' 访问权限(我没有),我会简单地使用 'rsync -globtru[n]cv' 来简单地在每个方向上拉(或推)文件。
我没有看到您的 wiki 采用什么样的数据格式。如果您使用的是数据库后端,您可能会通过某种复制而侥幸逃脱。MySQL 和 PostgreSQL 都支持这种开箱即用的方式,以及其他方式。
SiteCopy可能是一个解决方案。在类似的情况下,它对我有用。不幸的是,它没有图形用户界面,但它很简单,可以创建一个快捷方式来运行它。