4 个版本 (2 个重大更新)
0.3.1 | 2024年7月26日 |
---|---|
0.3.0 | 2024年6月2日 |
0.2.0 | 2024年6月1日 |
0.1.0 | 2024年5月26日 |
#1361 在 命令行工具
每月下载 132 次
43KB
1K SLoC
Basmati 是一个类似命令行的 cli 工具,用于在 AWS Glacier 上流式传输存档,从 AWS Glacier 到 AWS Glacier,AWS 的冷存储服务。冷存储意味着当您需要文件时,您必须发送一个请求,在 6 - 12 小时内得到满足。这个过程相当繁琐,因为您需要在启动下载作业的一定时间内下载您的存档。Basmati 通过在 TUI 应用程序中显示您的库存,轮询 Glacier 直至作业准备就绪和完成,以及计算所有令人烦恼的 treehashes 以成功上传存档,使其变得简单。
环境和设置
该工具假设您的 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
已在您的环境中设置。目前无法通过命令行参数传递这些信息。
打包
Basmati 目前作为 crate 或 Nix flake 提供
# crate
cargo install basmati
# get the flake
{
inputs = {
...
basmati.url = "github:vhsconnect/basmati";
};
# add to your packages attribute set
{pkgs, inputs, ...} :{
environment.systemPackages = [
inputs.basmati.packages.${pkgs.system}.default
]
};
用法
Usage: basmati [OPTIONS] [COMMAND]
Commands:
create
upload
inventory
download
help Print this message or the help of the given subcommand(s)
Options:
-d, --debug...
-h, --help Print help
-V, --version Print version
创建
创建一个新的保险库
Usage: basmati create --vault-name <VAULT_NAME>
Options:
-v, --vault-name <VAULT_NAME>
-h, --help Print help
上传
上传存档或文件
Usage: basmati upload --file-path <FILE_PATH> --vault-name <VAULT_NAME>
Options:
-f, --file-path <FILE_PATH>
-v, --vault-name <VAULT_NAME>
-h, --help Print help
下载
通过指定保险库和路径下载存档。您必须先运行 inventory
命令以下载您的资产账本
Usage: basmati download --vault-name <VAULT_NAME> --output-as <OUTPUT_AS>
Options:
-v, --vault-name <VAULT_NAME>
-o, --output-as <OUTPUT_AS>
-h, --help
库存
下载特定保险库的库存列表
Usage: basmati inventory --vault-name <VAULT_NAME> --desc <DESC>
Options:
-v, --vault-name <VAULT_NAME>
-d, --desc <DESC>
-h, --help Print help
删除存档
从保险库中删除存档
Usage: basmati delete-archive --vault-name <VAULT_NAME>
Options:
-v, --vault-name <VAULT_NAME>
-h, --help Print help
列出保险库
列出当前账户的所有保险库
Usage: basmati list-vaults
Options:
-h, --help Print help
待办事项
- 缓存和 TMP 的更好清理
- 在 TUI 中更好的输入处理
依赖关系
~28–41MB
~724K SLoC