我有一台运行 postgres 数据库的服务器,该数据库包含大约 200MB 的数据。目前,我在家用电脑上设置了一个 cron 作业,它:
- ssh 进入我的服务器
- 运行远程脚本来备份数据库
- scp 将转储到我的本地硬盘上进行存储。每个转储为 20MiB。
- 每六个小时执行一次(一个月的备份大约为 2GiB)
这种设置的问题在于,如果我的本地计算机因某种原因停机,则不会进行任何备份。另外,我无法让 cron 从服务器运行,因为我无法将其从服务器 scp 到本地计算机(防火墙和所有那些垃圾)。
我的本地机器运行的是 Ubuntu 10.04,而我的服务器是 Ubuntu 9.10 服务器版。我研究过 Ubuntu One,但目前它只有 GUI。我也研究过 Dropbox,但在没有 GUI 支持的 Linux 中设置起来很麻烦。Amazon S3 看起来不错,但它不是免费的(但非常便宜)。还有其他我应该研究的替代方案吗?
我更希望我的脚本能够将数据库转储到目录中,然后让备份服务“监视”该文件夹并进行相应同步。我可能还可以将本地计算机同步到云备份,这样我就可以获得更多的冗余,并且可以轻松访问我的备份以用于测试。
编辑:我的服务器是 VPS,所以我最终使用的解决方案必须 100% 基于软件。
答案1
我自己用塔斯纳普备份类似的服务器。它基本上与 tar 一样,只是您的档案存储在“云”中,并且您会自动获得客户端加密、数据重复删除等。
它的行为与 tar 一样,意味着您必须/可以设置自己的 cron 脚本等。
您的备份实际上存储在 Amazon S3 中,但首先必须通过 tarsnap 服务器,它会执行一些额外的魔法。
答案2
那么在 Amazon S3 上备份怎么样?请查看以下链接:“亚马逊 S3 备份工具列表”
答案3
就我个人而言,我会坚持使用 Dropbox,因为它看起来非常适合您的要求,而且前 2 GB 是免费的。
我同意 Dropbox 论坛 踩踏基于文本的安装看起来很复杂,但我注意到顶部有以下评论:
注意:最新版本的 Linux Dropbox 客户端 (0.7.110) 不再需要这些说明。只需正常安装即可 -- RH
我还没有看过这个版本,但也许值得再看一遍。
答案4
在 tarsnap 上 +1。
至于仅在 CLI 机器上设置的 dropbox,您正在阅读的 wiki 上的设置页面现在已过时。
如果您使用其中一个新“实验性”版本(对我来说,这些版本完全稳定),则链接过程非常简单。以下是截至本文发布时的最新实验版本的链接: http://forums.dropbox.com/topic.php?id=20994&replies=12
...只需从 cli 运行守护进程,它就会呈现一个 URL 供您复制并粘贴到另一台机器上。(您也可以在 cli 机器上使用 elinks。)
我不确定这是否允许,如果不允许我很抱歉,但如果您决定尝试 Dropbox,请使用此链接:https://www.dropbox.com/referrals/NTY2OTYyOQ你将获得额外的 250MB