使用 rsync 将远程 Debian 机器备份到 NAT 后面的 Windows PC

使用 rsync 将远程 Debian 机器备份到 NAT 后面的 Windows PC

我不愿意承认,但我现在感觉陷入困境,不知所措。我有一台运行 Debian 的共置服务器,真的非常非常需要正确备份。我“某种程度上”复制了许多真正无可替代的东西,但我真的想获得所有内容的完整副本。

这不是必须随时保护且随时可用的关键任务企业数据。这是我编写的 Android 应用程序的业余服务器,多年来,它已经发展到将其全部备份已成为一项艰巨的任务。我希望现在开始备份过程,让它在合理的未来某个时间点完成,并最终获得服务器上所有内容的一份完整副本,希望这些副本能够在未来保持合理更新。

我的总体目标

Linux 服务器到 Windows 台式电脑的单向备份。某些文件(例如我可以通过路径和通配符识别的日志文件)在确认复制成功后可以从远程服务器中删除。

服务器的硬盘是 250GB,目前大约有 25GB 可用。其中大约 1/4 是日志文件,大约 1/3 是图像文件,另外大约 1/4 是数据库的每日备份。

可以跳过巨大的文件(> 1 GB)或锁定的文件(Mysql 数据库),只要以某种明显的方式记录下来,以便我以后可以单独处理它们。

服务器上的临时空间有限,因此必须以小块的方式完成。

实时服务器,因此备份过程不会使其瘫痪或锁定文件。只需跳过文件并将其记录在某处即可。

倾向于在互联网上传输时加密,但不想加密实际的备份文件。

有足够的本地硬盘空间用于备份,但当压缩数据可以显著减少传输时间(比压缩所需的时间还要多)时,我更愿意压缩数据。为了便于讨论,假设我的链接速率持续为 2mbps-5mbps(服务器端名义上为 10mbps,Comcast 端据称为 50+mbps)。

我是服务器上的 root 用户,它运行的是 Debian(我很尴尬地承认我不知道具体是哪个版本……它是 2010 年 5 月被认为是稳定的 Debian 版本,但有一个较新的版本只是就在那个时候发布。我认为可能是 Ech,而 Lenny 是刚刚发布的那个)。我家里的电脑运行的是 win7/64。

一个好的开始可能是建议尝试特定的 Linux 和 Windows 实现,也许还有一两个带有与我自己的用例相似的示例的指南。我在网上找到了数百个关于使用 rsync 将 Windows PC 备份到 Linux、将媒体文件备份到“云”以及将 Linux 备份到 Linux 的指南,但没有一个真正涉及“将我(现在庞大的)运行 Linux 的业余服务器备份到我运行 Windows 的台式电脑”

谢谢! :-)

答案1

这很容易做到所以我会给出稍微高层次的答案。

您可以使用 Cygwincurl http://ifconfig.me/ip来获取 Windows 机器的当前 IP。

将 rsync(大概是 ssh)转发到您的 Windows 机器。

在 Windows/Cygwin 框中使用简单脚本,然后 rsync 需要备份的 tar 文件(您正在对其进行 taring,对吗?)。例如,rsync -avz -e ssh [email protected]:/home/user/mybackedupfiles.tar.gz /path/to/save/to

那就可以了。

相关内容