zope 3的文件系统同步实用程序。
zope.app.fssync的Python项目详细描述
zope3的文件同步
fssync项目(zope.app.fssync)支持文件系统 zodb中zope3内容的同步。此包定义 一个基于web的api,基本支持一些标准的zope.app内容 类型和标准安全策略。
这个项目是建立在更通用的zope.fssync包之上的 它提供对象序列化和反序列化工具。如果你 需要一个独立于zodb和zope3的纯python api 安全机制你应该看看zope.fssync。
fssync包含一个类似svn或cvs的命令行客户机。类型:
bin/zsync help
获取可用的命令和更多信息。如果你想看zsync 运行中的客户端您可以运行演示应用程序:
bin/demo start
在浏览器中打开http://localhost:8080/manage,然后使用 zsync作为您的用户名和密码。添加demo文件夹 一些文件通过ZMI。之后,运行 初始结账:
bin/zsync checkout http://zsync:zsync@localhost:8080/demo ./parts/checkout
编辑签出目录中的一个文件并提交更改:
bin/zsync commit ./parts/checkout
修改后的文件现在应该可以在服务器上使用了。
ssh
除了http之外,zsync现在还支持通过ssh进行通信。宋承宪 URL看起来像:
zsync+ssh://user:passwd@host:port/path
zsync协议与http协议相同,它只是通过 宋承宪。
在服务器端,ssh服务器可以检查公钥以强制 安全性(尽管演示服务器不麻烦),并负责 将zsync请求传递给zope并返回响应 宋承宪。
src/zope/app/fssync/demo_server.py中有一个ssh服务器示例 要使用它,首先要确保zope正在运行。然后启动 服务器:
sudo bin/demo-ssh-server
这将在端口2200上启动一个演示ssh服务器。服务器必须作为 以读取ssh主机密钥。
在另一个终端中,使用zsync客户端连接到它:
bin/zsync co zsync+ssh://zsync:zsync@localhost:2200/demo parts/co2
这会将demo文件夹签入parts/co2文件夹。
你应该可以在退房时正常工作。zsync将使用 ssh进行通信,但会正常工作。
扩展zsync
zsync脚本由buildout.cfg的以下部分生成:
[zsync] recipe = zc.recipe.egg eggs = zope.app.fssync entry-points = zsync=zope.app.fssync.main:main
如果要在自己的应用程序中使用zope.app.fssync,请 通常必须定义特定于应用程序的序列化程序和 反序列化程序。请参见zope/app/fssync/fssync.txt
进一步的文件。您可能还需要自己的zsync脚本 其他依赖项。只需在相应的 构建项目的片段。
更改
3.6
- ssh传输现在在特定于应用程序的文件中查找已知的主机, 以及用户代理中的正常已知主机文件。这个文件是 如果是POSIX,~/.ssh/fssync_known_hosts;如果是win32,~/ssh/fssync_known_hosts。
- 错误修复:ssh传输现在将提示用户是否希望使用 无法识别的主机密钥。如果他说“是”,它将被添加到fssync 已知主机文件。如果他说“不”,就会有例外。
- 错误修复:如果用户的公钥已加密,fssync将提示 密码。
3.5
- 向zsync status命令添加了-v–verbose开关。关闭详细信息 默认情况下。
- 添加了对提交元数据文件后避免冲突的支持。
- 已将“resolved”添加为“resolve”命令的别名。
- 添加了“merge”命令。它允许从一个签出合并更改 对另一个人。
- 添加了ssh网络传输。客户端现在可以使用zsync+ssh:。// 与服务器通信的URL。