Rsync包装器,使同步变得简单
项目描述
此程序是围绕rsync的包装器。它将帮助您
如果您需要经常从远程服务器同步文件
无需记住文件的位置。它会为您找到它们。
要求
Python >= 2.6 (Python >= 2.7 for tests)
已安装rsync
远程系统上已安装带有最新数据库的locate
第一步
如果您是ssh的新手,首先设置ssh配置。如果您处理许多服务器,为它们提供一个别名会使它们更容易记住,并且您不需要输入太多。
在您的SSH主目录中创建一个ssh配置,例如。
vim ~/.ssh/config您可以使用以下示例作为起点
Host spameggs Hostname 12.112.11.122 Compression yes CompressionLevel 9 User guido但请确保检查文档或ssh_config的手册页(5)
仅允许所有者读取此配置
chmod 600 ~/.ssh/config测试您是否可以使用别名仅登录到您配置的主机
ssh spameggs
示例
从配置在~/.ssh/config中的远程服务器spameggs同步ZODB。我们选择第二个数据库而不是第一个
$ zyklop spameggs:Data.fs . Use /opt/otherbuildout/var/filestorage/Data.fs? Y(es)/N(o)/A(bort) n Use /opt/buildout/var/filestorage/Data.fs? Y(es)/N(o)/A(bort) y同步提供路径段的目录
$ zyklop spameggs:buildout/var/filestorage$ .同步以blobstorage结尾的目录,排除任何其他带有后缀的blobstorage目录(例如:blobstorage.old)
$ zyklop spameggs:blobstorage$ .如果您确切知道从哪里复制,请使用绝对路径
$ zyklop spameggs:/tmp/Data.fs .同步需要更高权限的目录。我们使用-s参数
$ zyklop -s spameggs:blobstorage$ .干运行会打印出所有找到的远程路径,然后退出
$ zyklop -d spameggs:blobstorage$ . /opt/otherbuildout/var/blobstorage /opt/otherbuildout/var/blobstorage.old /opt/buildout/var/blobstoragzyklop自动同步第一个找到的结果,而无需提示
$ zyklop -y spameggs:blobstorage$ .
已知问题
- zyklop只是卡住不动
这可能是由paramiko和不够充分的SSH设置引起的。请确保您可以通过简单地发出命令来无问题地登录
ssh myhost
如果这不能解决问题,请尝试从源提供绝对路径。有时用户在远程服务器上没有很多权限,而paramiko只是等待远程命令的输出
zyklop myhost:/path/to/file .
动机
我大部分时间都在处理Zope服务器。其中一些有非常大的Data.fs - 一个面向对象的数据库。在99%的情况下,我的PC上有客户端数据库的旧版本。复制整个数据库将花费我很多时间。使用rsync并简单地下载二进制补丁,使更新本地数据库变得很快。
总结来说,使用zyklop我想解决两个问题
下载大的ZODB需要很长时间和带宽。我根本不想等那么长时间,下载那么多。
大多数时候,我记不起远程服务器上要复制的项目的确切路径。
待办事项
TTY支持:有时如果SSH配置为仅允许tty连接,则需要
如果仅配置了SSH密码认证,则不要挂起
开发
如果您对黑客攻击感兴趣,请在github上克隆zyklop
变更
0.5.2 (2013-02-12)
修复:使用一个函数来检索用户名。
0.5.1 (2013-02-12)
命令行实用程序现在显示版本信息。
修复:现在使用ssh配置中配置的“用户”,并回退到环境用户
0.5 (2013-02-06)
添加-d或–dry-run开关,以仅由zyklop打印出找到的远程路径
添加-y或–assume-yes开关以同步找到的第一个结果
修复损坏的README.rst
0.4 (2013-02-05)
改进文档
修复了导致在发出远程命令以查找目标路径时出现挂起命令的bug
0.3 (2013-01-14)
更改主机、匹配参数:现在您可以在一个参数中指定源主机和路径匹配,类似于scp(例如:foohost:/path)
允许提供要复制的文件的绝对路径。
0.2 (2012-03-08)
添加了对sudo在查找和同步(rsync)中的基本支持
添加argparse作为依赖项,因为Python 2.6不会有它
添加新位置参数以提供要复制文件/目录的目标位置
项目详情
zyklop-0.5.2.zip的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 255a57a782d9f872e334261ccc499f797e6ee22561c1a0b260b87d54586f5461 |
|
MD5 | ba365296740e3ae71b3322e44e909a06 |
|
BLAKE2b-256 | 6c00664e1e87b3708ac5fbd145456aacc0c5b7805fad5b02491f9907c0cc7767 |