buttersink就像是btrfs快照的rsync

buttersink的Python项目详细描述


about
=


buttersink同步两组btrfs只读子卷
(快照)。


buttersink类似于rsync,但对于btrfs子卷而不是文件,
这使得存档备份
快照等操作更加高效。它建立在btrfs发送和接收功能之上。
源和目标可以是本地btrfs文件系统、通过ssh的远程btrfs
文件系统或s3存储桶。

只读子卷。它忽略读写
子卷和不在子卷中的任何文件。

其他本地btrfs文件系统或通过ssh的远程btrfs文件系统会自动同步一组快照或单个快照,
只传输所需的差异

*智能选择完全传输和增量传输,以将传输和存储的成本降到最低存储,并将差异损坏的风险降至最低。

*基于s3文件大小、btrfs配额信息和btrfs工具的智能启发式内部快照父标识("ruuid")

*将在远程传输之前测量候选diff的实际大小。

*对btrfs发送和接收错误的强大处理

*检测并(可选)删除失败的部分传输

*可恢复、校验和的多部分作为后端上载到s3

*调整发送的uuid,以便还原的快照也可用于新的差异。












=



>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~文件][-v]
[--部分大小e部件大小]
[<;src>;]<;dst>;

n t:
-h,--帮助显示此帮助消息并退出
-n,--干运行显示将传输的内容,但不要执行此操作
-d,--删除<;dst>;中不在<;src>;
-e中的任何快照,--估计使用估计大小而不是measu环差异与
本地测试发送
-q,--安静一次:不显示进度。两次:仅显示
错误消息
-l日志文件,--log file日志文件
将调试信息记录到文件
-v,--版本显示版本
--部件尺寸部件尺寸
多部件上载中的块尺寸

<;src>;,<;dst>;:[btrfs://]/path/to/directory/[snapshot]
s3://bucket/prefix/[snapshot]
ssh://[user@]host/path/to/directory/[snapshot]

如果仅提供了<;dst>;,请列出可用的快照。注意:后面的
"/"*是*重要的。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~boto将从`~/.boto`读取
s3凭据,其外观应该如下:

[凭据]
aws_access_key_id=akaiosfodnn7示例
aws_secret_access_key=wjalrxutnfemi/k7mdeng/bpxrficyeexamplekey

aws访问策略很棘手。下面是一个为buttersink提供iam
用户访问权限的示例策略:

{
"语句":[
{
"effect":"allow",
"action":["s3:*"],
"resource":[
"arn:aws:s3:::mybackupbucketname",
"arn:aws:s3:::mybackupbucketname/*"
]
]
}
}

buttersink需要根pr访问BTRFS文件系统的权限。

==utter/

模式是:

"r"--只下载
"a"--上传
"w"--上传带有--delete

注意sudo用于确保btrfs所需的根权限。用户应该是根用户,或者sudo应该配置为允许用户在没有密码的情况下发出buttersink命令。下面是/etc/sudoers中用户fred的一个示例条目,它允许访问/bak中的快照:


fred all=nopasswd:/usr/local/bin/buttersink--server--mode r/bak/*
fred all=nopasswd:/usr/local/bin/buttersink--server--mode a/bak/*
fred all=nopasswd:/usr/local/bin/buttersink--server--mode w/bak/*


installation
==


源代码:


git clone https://github.com/amescornish/buttersink.git
cd buttersink
make
./buttersink.py--help

sudo make install
buttersink--help


使用pypi:

pip install——升级buttersink
buttersink——help


utilities
=





contact
==


ames cornish
buttersink@montebellopartners.com
https://github.com/amescornish/buttersink/wiki

版权所有(c)2014 ames cornish。保留所有权利。在BR/> GPLV3下授权。< BR> > BR/>此程序是免费软件;您可以在
自由软件基金会发布的GNU通用公共许可证的条款下重新发布和修改它。BR/>,或者许可证的第3版,或者(在您的BR/>选项)以后的任何版本。s程序的发布是希望它能有用,但没有任何保证;甚至没有对特定用途的适销性或适用性的隐含保证。


有关详细信息,请参阅license.txt。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
手机上的html调试Java web应用程序   Java当前日期和过去日期之间的差值,以年、月、日、小时、分、秒为单位   如果方法名称相同,java如何使扩展类不从上面的类触发方法?   即使在提供了准确的firebase引用之后,java仍出现“无法跳转到类型”异常。请看详情   jar文件中的java图像   java如何避免从缓存读取时修改相同的对象实例?   Android中java完全控制的线程队列   JTextArea中的java计算   java如何独立运行。jar作为64位mashine上的32位   java在尝试实例化自引用泛型类的实例时,如何处理自引用类型参数   java如何安装着色jar而不是原来的jar   java在resultSet之后使用If-Else   多线程是java。朗,反思一下。方法调用线程安全   java 7语言向后兼容性   Objective C中的Category和Java 8中的Default方法是否等效?