#备份 #gmail #cli-tool #cli #config-format

app gbackup-rs

快速且可配置的 CLI 工具,用于备份您的 GMail 数据

2 个不稳定版本

0.2.0 2020年11月24日
0.1.0 2020年9月28日

#gmail 中排名 7

MIT 许可证

29KB
490

gbackup-rs - 备份您的 GMail

Build Status

gbackup-rs 是另一个用于备份您的 GMail 账户的工具,具有一些值得注意的特性

  • 它执行增量备份
  • 使用易于理解的配置格式,并可处理多个 GMail 账户
  • 备份是事务性的,这意味着更少可能存在损坏的备份
  • 它将并行下载邮件,这可能导致初始备份速度提高5倍以上
  • 由 Rust 编写,意味着更有可能快速且安全

它默认使用自定义模式(一个 sqlite 数据库)来存储邮件,并提供导出到常用格式(例如,mbox)的工具(遵循良好的旧 Unix 哲学,只做一件事)

设计

gbackup-rs 使用 IMAP 同步邮件,但并不旨在复制您 Gmail 邮箱的布局。其主要目标是备份数据,而不是成为一个完整的 IMAP 电子邮件客户端。如果证明这很有用,未来可能会改变,但就目前而言,设计的主要目标是允许快速备份,并在您因任何原因(例如,使用 GMail 约 15 年 - 我个人有来自生命几个阶段的无价数据,很难替代)失去对 Gmail 账户的访问时防止数据丢失。

用法

顶级目录中有一个配置文件的示例。一个简单且相当自解释的配置可能如下所示

[[accounts]]
    username = "[email protected]"
    [accounts.password]
        type = "EnvVar"
        name = "GMAIL_PASSWORD"
    [accounts.backup]
        type = "Sqlite"
        backup_dir = "/Users/firstname/gmail_backup_test/"
    [accounts.export]
        type = "Mbox"
        path = "/Users/firstname/gmail.mbox"

默认情况下,它期望存储在工作目录中名为 .gbackup.toml 的文件中(但可以通过 -c 选项进行配置)。然后您只需运行

 GMAIL_PASSWORD="mysecretpass" ./gbackup-rs -w 10

这建议用于第一次备份,因为它将使用 10 个并行 IMAP 连接下载邮件。这会导致显著的速度提升!在一个 ~4Gb 的邮箱中,单个连接的备份需要约 19 分钟,而 10 个并行连接则需要 5 分钟。由于后续备份是增量备份,因此使用单个工作器(默认)对于低容量个人账户来说应该足够了。

生成的备份可以在配置的目录中找到,文件名为 backup.sqlite

注意,您需要在此处为您 GMail 账户设置一个应用程序密码 这里

将数据导出到广泛使用的格式,例如 mbox,可以通过运行 export 子命令来完成。

./gbackup-rs -c ~/.gbackup.toml export

这将依次运行配置中为每个账户配置的任何导出引擎(如果有的话)。

未来功能

目前 gbackup-rs 处于高度实验性阶段,许多东西都可能发生变化(希望是变得更好)。查看问题跟踪器以了解一些已经工作的内容。

依赖项

~30–41MB
~754K SLoC