用于Backblaze B2的命令行工具

b2的Python项目详细描述


B2命令行工具src="https://warehouse camo.cmh1.psfhosted.org/dad046a95c22d636a04a8eb2d46cce1feb628e0/68747470733a2f2f696d672e736869656c647332e696f7472617669732f4261636b626c617a652e42f4225f4236f6d6d616e645f6c6e655f56c2d6765722e7376673f6c616576697325323049" />licensepython版本

命令行工具,可轻松访问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 bucketupdate 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*'

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

推荐PyPI第三方库


热门话题
java SimpleCursorAdapter删除值   java结束while循环条件   java检查设备是否连接到特定网络   java组织。冬眠MappingException找不到逻辑名称为annotation getter的列   为什么java邮件中会抛出此异常?   加载SDK时发生java Eclipse错误   返回奇怪输出的Java数组   JavaXStream和对象类序列化   将枚举列表传递给namedQuery后出现java非法转换异常。Hibernate中的setParameter()   java Android studio不允许我在字符串上使用开关?   有没有办法从Java程序访问存储在Chrome中的cookie   java在枚举中构造实例而不修改枚举类   java Blackberry JDE FieldChangeListener   java修复错误:未报告的异常InterruptedException   java Spring数据JPA:findAll(具有规范和可分页)在计数查询中失败