用于Backblaze B2的命令行工具
b2的Python项目详细描述
B2命令行工具src="https://warehouse camo.cmh1.psfhosted.org/dad046a95c22d636a04a8eb2d46cce1feb628e0/68747470733a2f2f696d672e736869656c647332e696f7472617669732f4261636b626c617a652e42f4225f4236f6d6d616e645f6c6e655f56c2d6765722e7376673f6c616576697325323049" />
命令行工具,可轻松访问B2云存储的所有功能。
此程序提供对B2服务的命令行访问。
1.4.0版
安装
此工具可以与以下部件一起安装:
pip install b2
如果您看到消息说无法安装6
库,则
如果在os x el capitan上安装系统python,请尝试
这:
pip install --ignore-installed b2
用法
b2 authorize-account [<applicationKeyId>] [<applicationKey>]
b2 cancel-all-unfinished-large-files <bucketName>
b2 cancel-large-file <fileId>
b2 clear-account
b2 create-bucket [--bucketInfo <json>] [--corsRules <json>] [--lifecycleRules <json>] <bucketName> [allPublic | allPrivate]
b2 create-key [--duration <validDurationSeconds>] [--bucket <bucketName>] [--namePrefix <namePrefix>] <keyName> <capabilities>
b2 delete-bucket <bucketName>
b2 delete-file-version [<fileName>] <fileId>
b2 delete-key <applicationKeyId>
b2 download-file-by-id [--noProgress] <fileId> <localFileName>
b2 download-file-by-name [--noProgress] <bucketName> <fileName> <localFileName>
b2 get-account-info
b2 get-bucket [--showSize] <bucketName>
b2 get-download-auth [--prefix <fileNamePrefix>] [--duration <durationInSeconds>] <bucketName>
b2 get-download-url-with-auth [--duration <durationInSeconds>] <bucketName> <fileName>
b2 get-file-info <fileId>
b2 help [commandName]
b2 hide-file <bucketName> <fileName>
b2 list-buckets
b2 list-file-names <bucketName> [<startFileName>] [<maxToShow>]
b2 list-file-versions <bucketName> [<startFileName>] [<startFileId>] [<maxToShow>]
b2 list-keys
b2 list-parts <largeFileId>
b2 list-unfinished-large-files <bucketName>
b2 ls [--long] [--versions] [--recursive] <bucketName> [<folderName>]
b2 make-url <fileId>
b2 sync [--delete] [--keepDays N] [--skipNewer] [--replaceNewer] \
[--compareVersions <option>] [--compareThreshold N] \
[--threads N] [--noProgress] [--dryRun ] [--allowEmptySource ] \
[--excludeRegex <regex> [--includeRegex <regex>]] \
[--excludeDirRegex <regex>] \
[--excludeAllSymlinks ] \
<source> <destination>
b2 update-bucket [--bucketInfo <json>] [--corsRules <json>] [--lifecycleRules <json>] <bucketName> [allPublic | allPrivate]
b2 upload-file [--sha1 <sha1sum>] [--contentType <contentType>] \
[--info <key>=<value>]* [--minPartSize N] \
[--noProgress] [--threads N] <bucketName> <localFilePath> <b2FileName>
b2 version
环境变量b2_account_info指定sqlite 用于缓存身份验证信息的文件。 默认使用的文件是:~/.b2_account_info
有关一个命令的详细信息:b2 help<;command>;
当使用应用程序密钥进行授权时,此工具要求 具有"listbuckets"功能,以便它可以获取bucket名称 您在命令行上提供并将它们转换为 B2存储服务。每个不同的命令可能需要额外的 能力。您可以在帮助中找到每个命令的详细信息 那个命令。
并行性和--threads参数
具有高性能网络或文件集非常小的用户可以从 增加平行度。尝试使用值较小的--threads参数 确定是否有好处。
请注意,使用多个线程通常会对网络上的其他用户有害。
贡献
bash完成
您可以找到bash完成
在contrib
目录中编写脚本。有关安装说明,请参见本节。
详细日志
可以使用--verbose
标志启用stdout的详细日志。
可以使用隐藏标志--debuglogs
启用对当前工作目录中的b2_cli.log
文件(在午夜进行日志旋转)的日志记录。请注意不要从正在同步的目录启动该工具,否则日志将被同步到远程服务器(除非这是您真正想做的事)。
对于高级用户,可以使用隐藏选项--logconfig<;filename.ini>;
以用户定义的格式和详细程度启用日志记录。在这里可以找到一个日志配置示例。
发布历史记录
1.4.0(2019年4月25日)
更改:
- 将用于身份验证的accountid重命名为应用程序密钥id 注意:这意味着帐户ID仍在过期兼容DS, 只有术语改变了。
- 大部分代码转移到了b2 sdk存储库和包中。
- 从cli包导入sdk类时添加了不推荐警告
- (B2sdk)修复传输程序在尝试空文件下载时崩溃的问题
- (B2sdk)启用非传输操作的重试
- (B2sdk)允许继续下载操作
- (b2sdk)对python 3.7的支持
1.3.8(2018年12月6日)
新功能:
- 新的
--excludeallsymlinks
选项用于sync
- 使用多线程和更大的缓冲区更快地下载大型文件。
错误修复:
- 用于取消所有未完成的大文件的固定文档
1.3.6(2018年8月21日)
错误修复:
- 修复应用程序密钥的自动重新授权。
- 修复bash自动完成模块的问题。
- 修复(希望)PYPI中的降价显示。
1.3.4(2018年8月10日)
错误修复:
- 更好的授权帐户命令文档。
- 修复使用应用程序键时的错误报告
- 修复Bucket受限应用程序密钥的身份验证问题。
1.3.2(2018年7月28日)
错误修复:
- 为Python3.7修复的测试
- 添加有关不同命令所需功能的文档。
- 有关应用程序密钥的授权问题的更好的错误消息。
1.3.0(2018年7月20日)
新功能:
- 支持应用程序键
- 支持Python3.6
- 放弃对Python3.3的支持(
setuptools
不再支持3.3)
错误修复:
- 修复内容类型,使标记在pypi中正确显示
- 测试包称为
test
,而不是tests
内部升级:
- 更快、更完整的集成测试
1.2.0(2018年7月6日)
新功能:
- ls的新的递归选项
- 新的"获取bucket"选项
- 新的同步选项
以及一些错误修复:
- 在源tarball中包含许可文件。修复433
- 测试套件现在以根用户身份运行(修复了427)
- 在尝试上载之前验证文件名
- 修复同步大量文件时的缩放问题
- 在同步期间为Windows路径加前缀以处理长路径(修复265)
- 在同步之前检查要同步的文件是否仍然可以访问(修复了397)
1.1.0(2017年11月30日)
此版本中只有一个更改:
- 在
create bucket
和update bucket
中添加对CORS规则的支持。获取bucket
将显示CORS规则。
1.0.0(2017年11月9日)
这是与0.7.4相同的代码,有一个不兼容的更改:
- 要求
--allowEmptySource
从空目录同步,以帮助避免意外删除所有文件。
0.7.4(2017年11月9日)
新功能:
- 通过在末尾发送sha1校验和,可以更高效地上载。
包括许多错误修复:
- 下载时文件修改时间设置正确。
- 在下载一系列文件(影响库,但不影响cli)时,解决一个逐个关闭的问题。
- 更好地处理B2服务中的一些错误。
开发人员信息
我们鼓励外部贡献者在我们的代码库上执行更改。许多这样的变化已经被合并。为了便于贡献,本项目的核心开发人员:
- 提供指导(通过问题R报告系统)
- 提供工具辅助代码检查(通过拉取请求系统)
- 维护一组集成测试(使用生产云运行)
- 维护一组(远远超过100个)单元测试
- 在14个版本的python上自动运行单元测试(包括osx、jython和pypy)
- 使用yapf自动格式化代码
- 使用静态代码分析查找可维护性方面的细微/潜在问题
- 维护其他持续集成工具(覆盖跟踪)
您需要安装一些python包。获取所有最新信息:
pip install--upgrade--upgrade strategy eager-r requirements.txt-r requirements-test.txt-r requirements setup.txt
有一个makefile
规则,可以使用当前活动的python运行单元测试:
make setup
make test
将安装所需的软件包,然后运行单元测试。
要在多个python虚拟环境中进行测试,请设置环境变量python_virtual_envs
以空格分隔的根目录列表。设置后,makefile将运行
每个环境中的单元测试。
在签入之前,使用pre commit.sh
脚本检查代码格式,运行
单元测试、运行集成测试等。
集成测试需要一个名为.b2-auth
的主目录文件
其中包含两行,除了应用程序密钥ID和应用程序密钥之外没有任何内容:
applicationKeyId
applicationKey
我们用一种特殊的方式标记了代码中明显不如其他代码直观的地方。要查找它们的出现,请使用git grep'*magic*'