V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SuperMild
V2EX  ›  分享创造

tempbk.py 临时备份文件到 Cloudflare R2

  •  
  •   SuperMild ·
    ahui2016 · 2022-12-14 10:57:38 +08:00 · 1510 次点击
    这是一个创建于 714 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 本软件通过终端输入命令上传文件到 Cloudflare R2 进行临时(短期)备份.
    • Cloudflare R2 的优点: 10GB 免费容量, 流量免费.
    • 本软件专门针对小文件的临时(短期)备份, 因此 10GB 免费容量够用了.

    不加密版 与 加密版

    本软件有两个版本, 一个加密, 一个不加密, 各有各的好处. (我比较喜欢加密版)

    • 加密版
      • 可以防止云端分析文件
      • 一旦丢失密钥就无法解密
      • 加密后文件体积会增加 33%
    • 不加密版
      • 不能防止云端分析文件, 有一定法律风险或云端泄密风险
      • 上传文件后, 可以登入 Cloudflare 网站下载文件

    安装方法

    本软件的安装过程比较复杂, 需要对 Cloudflare R2 及 Python 有基本的理解. 详细安装方法看这里 github.com/ahui2016/py-scripts

    使用方法

    加密版的命令是 tbk, 不加密版的命令是 tempbk, 下面以 tbk 为例.

    上传文件

    如果选择加密版, 在上传文件前, 本程序会先自动加密文件, 只上传加密后的文件.

    • 使用命令 tbk upload FILE 上传文件到云端.
    • tbk -u FILE 等同于 tbk upload FILE

    自动选择一个最新文件

    • 使用命令 tbk -u FOLDER (其中 FOLDER 是一个文件夹) 可以自动选择该文件夹中的一个最新文件 (以最近修改时间为准), 按回车键确认上传, 输入 n 回车取消.
    • 例如 tbk -u . 上传当前文件夹内的最新文件.

    下载文件

    如果选择加密版, 在下载文件时, 本程序会自动解密文件.

    • 在下载前指定保存文件的文件夹, 例如:
      tbk download -dir /path/to/folder
      只需要设置一次, 后续下载文件就会自动保存在指定的文件夹
    • tbk -dl PREFIX 下载文件, 例如: tbk download 20221111/abc.txt

    统计数据

    • 使用命令 tbk count 可查看各个月份上传了多少个文件.
    • 使用命令 tbk list today 可列出今天上传的全部文件.
    • tbk list 202211 列出 2022 年 11 月上传的全部文件.
    • tbk -l 20221111 列出 2022 年 11 月 11 日上传的全部文件.
    • tbk -l 等同于 tbk list

    总结

    大概就是这样, 功能很少很简单, 但如果喜欢命令行的话还蛮好用的. 开源代码: github.com/ahui2016/py-scripts

    4 条回复    2022-12-17 15:09:00 +08:00
    codehz
        1
    codehz  
       2022-12-14 11:40:27 +08:00
    这加密是怎么做到比源文件大 33%的
    一看后面做了 base64 ,我寻思 r2 这玩意又不是限制不能上传二进制,这 base64 有啥用
    SuperMild
        2
    SuperMild  
    OP
       2022-12-14 12:20:47 +08:00
    @codehz 我用了 cryptography 去加密,我也不知道它为啥要转 base64, 考虑到我这个程序的定位是小文件备份,就懒得管了,大一点就大一点吧😂
    patrickyoung
        3
    patrickyoung  
       2022-12-16 12:41:46 +08:00 via iPhone
    我为啥不用 rclone…都是 s3-compatible
    SuperMild
        4
    SuperMild  
    OP
       2022-12-17 15:09:00 +08:00
    @patrickyoung 当然可以,类似的工具还有很多。

    我这个主要是代码简单,适合拿来魔改成自己喜欢的样子,另外我也是练练手,下一步打算利用 Cloudflare R2 做个相册生成器(本质上是静态网站生成器,图片储存在 R2 )。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3275 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:21 · PVG 20:21 · LAX 04:21 · JFK 07:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.