我希望将Google删除,将其作为生活中的单点失败。在有关此主题的第一篇博客文章中,我详细介绍了将Google Photos和Google Drive内容备份到我的家庭服务器上并远程备份到rsync.net的设置。该帖子被排除在外,是Gmail的一种解决方案,因为我还没有找到。我现在有。
这并不意味着我将停止使用Google产品。恰恰相反。 Gmail,Google相册和Google云端硬盘仍将是我上面列出的所有内容的真实来源。不同的是,如果Google明天(或我的帐户)消失,我将不会丢失任何数据。
使用照片和云端硬盘很容易实现这一点,因为数据就已经存在了。不幸的是,使用电子邮件是不正确的。
增量备份电子邮件数据非常简单-我们将在稍后介绍。但是,使用Gmail时,您的电子邮件地址仍与@ gmail.com域绑定。因此,如果我的帐户或Google的所有帐户都消失了,我将无法再收到电子邮件。
当然,这里的“简单”解决方法是仅使用我控制的域。显然,我拥有jakewharton.com,我打算进行设置,但我想要更短的内容。我已经拥有cob.io多年了,目的是建立[email protected],但是我还是“ Jake”。幸运的是,最近几年涌入了新的TLD,所以我设法抢到了ke.fyi。与[email protected]打招呼!
在我自己的域上发送电子邮件并不能解决我仍然将Gmail地址指定给成百上千种服务的问题。尽管我可以迁移很多,但不可避免地会有一些我无法做到或我根本不知道存在的东西。旧地址需要保持工作状态。
浏览了一些托管的电子邮件解决方案后,我决定使用Fastmail(注意:引荐链接)。除了朋友的积极推荐外,还有一些关键的激励因素。
Gmail的一项流行功能是能够向用户添加+,然后还会向您发送任何文本和邮件。这可用于过滤器或查看谁将您的电子邮件地址出售给其他人。
域包罗万象是一回事,但是您可以更改整个用户名。现在,我可以使用诸如[email protected]之类的地址,而无需先进行任何设置。除了知道他们是否出售我的电子邮件外,它还可以稍微提高安全性。尽管这种格式让人容易猜到,但是其他使用数据泄露电子邮件的自动攻击根本就不存在。
Fastmail支持使用发送到的相同地址回复这些通用电子邮件。这对于保持这种幻觉至关重要,尤其是在与人打交道而不是与自动化系统打交道时。
除了ke.com之外,我还建立了jakewharton.com和其他一些域名。 Fastmail将所有发送到我配置的域的电子邮件发送到一个统一的收件箱,而不是强迫我切换帐户。取而代之的是,我的答复将匹配传入地址,就像对全部捕获一样。
此外,撰写电子邮件时,我可以选择发送电子邮件的域。对于设置了全部功能的用户,我什至可以在这些域中选择任意用户名。整齐!
由于我的Gmail地址在可预见的将来会收到一些邮件,因此使用一项不仅支持一次导入的服务非常重要。 Fastmail执行近乎实时的增量同步,以从Gmail中提取任何新的电子邮件或日历事件。它不仅速度很快,而且似乎能够绕过通过IMAP下载电子邮件时存在的速率限制。
我可以使用Gmail地址撰写电子邮件。我不知道为什么我会需要这个,但是很高兴。
在回复任何电子邮件时,Fastmail允许我更改要回复的地址。当某人向我的旧地址发送电子邮件时,我可以使用此功能逐步将其迁移到新地址。
请记住,仅将Gmail迁移到Fastmail不足以获取我们自己域中的地址。我们仍然需要确保备份解决方案。幸运的是,Fastmail支持您需要的所有协议。
从Gmail到Fastmail的同步是一项不错的奖励,它绕过了Google的速率限制,这意味着您还可以在几分钟之内通过Fastmail同步整个Gmail,而不必在直接访问时将其分散在几天之内。
在上一篇博客文章发布后不久,人们立即向我发送了许多用于Gmail备份的工具。谢谢你!
在尝试了一些工具之后,我选择了mbsync,它是isync项目的一部分。该工具非常通用,但可用于通过IMAP将电子邮件同步为Maildir格式。
Maildir是可以由许多工具读取的标准格式。与mbox(Gmail在Google Takeout for Gmail中使用的格式)不同,Maildir对每封电子邮件使用单独的文件。这有助于进行增量更新,grep之类的工具和压缩。
不幸的是,很少有客户端直接在Maildir上进行操作。绝对不会让我感到满意(对不起,马特)。
如果您需要从备份中还原,可以很容易地通过mbsync将Maildir推回到任何IMAP支持的主机中。而且,如果您确实需要始终在线,自我托管的客户端,则可以将其作为同步过程的一部分。
为了使该过程自动化,我将mbsync打包为jakewharton / mbsync并打包在Docker容器中,该容器可以定期运行。
它使用与上一个帖子中的rclone和gphotos-sync容器相同的healthchecks.io服务进行监视。我个人将其发送到自己的Slack工作区,该工作区为我提供了所有设备上的简单历史记录和便捷通知。
版本:" 3.6"服务:#来自先前博客文章的服务... mbsync-jake:容器名称:mbsync-jake图像:jakewharton / mbsync:最新重启:除非停止卷:-/ tanker / backup / jake / mail:/ mail-$ {USERDIR } / docker / mbsync-jake:/ config环境:#每小时-" CRON = 0 * * * *" -" CHECK_URL = https://hc-ping.com/..."
有关如何设置容器的信息,请参见存储库的自述文件。
就像上一篇文章的“数据存储”和“数据复制”部分一样,备份将转到专用的ZFS文件系统。该文件系统会定期快照以提供本地历史记录。数据及其所有快照也将同步到rsync.net以进行非现场复制。
$ zfs listNAME使用的可用引用MOUNTPOINTtanker 18.4T 2.08T 151K / tankertanker /备份529G 2.08T 151K / tanker / backuptanker / backup / angela 172G 2.08T 140K / tanker / backup / angelatanker / backup / angela / photos 172G 2.08T 172 / backup / angela / photostanker / backup / jake 337G 2.08T 151K / tanker / backup / jaketanker / backup / jake / drive 78.9G 2.08T 78.9G / tanker / backup / jake / drivetanker / backup / jake / mail 12.1G 2.08T 12.1G /油罐/备份/杰克/邮件油罐/备份/杰克/照片246G 2.08T 148G /油罐/备份/杰克/照片
我没有在文件系统上启用压缩功能,因为它只有12GiB。我怀疑它的压缩效果很好,以后我可以随时打开它。
我是在上一篇帖子之后一周进行迁移的,所以我在Fastmail上已经待了大约三个星期了。总的来说,这是一次积极的经历。 Android应用程序是混合型的,因此有时感觉有点怪异,但除此之外,客户端具有一些不错的功能。到目前为止,我最喜欢的是它如何处理长线程中引用的部分:
对我的电子邮件,照片和文件的控制更多,这很令人欣慰,但我衷心希望我永远不必依赖这些备份。
配置完成后,Docker容器几乎完全无需维护。我有一个多月没有触摸过同步的照片或文件了。有时它会打h并通知我,但始终会自行恢复。
既然Google大部分都是由于单点故障而被删除的(我现在仍然依靠它们来进行Keep和雇佣),那么似乎所有下一个GitHub项目都需要进行自动备份滚动。