2 个不稳定版本
0.2.0 | 2020年11月24日 |
---|---|
0.1.0 | 2020年9月28日 |
在 #gmail 中排名 7
29KB
490 行
gbackup-rs - 备份您的 GMail
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