我有一台 Debian 服务器 (VPS) 和一台 Windows 服务器(在家里)。我想定期备份我的 Debian 到我的 Windows 服务器的一些路径。我的 WS 充当 NAS,我将它用于我的所有备份。
首先,我开始在我的 Debian 上使用 rsync 配置一个 cron 任务,但由于 Windows 服务器上没有本地 ssh 服务器,这可能不是最佳解决方案。然后我在想用我的windows服务器从我的debian拉数据到windows会不会更好。
这是我发现的唯一一个以这种方式制作东西的链接:http://troy.jdmz.net/rsync/ (服务器从客户端拉取)
此外,我的 Windows 服务器在我的家中,它带来了一个限制,即我可以更改我的家庭位置,因此我的 ip 和路由器的所有配置也会更改。我只想插上windows服务器,让它继续正常工作。
你们怎么看这一切?以这种方式做到这一点是一个优雅的解决方案吗? 我必须用 rsync 安装 cygwin 吗?是否可以在我的 Windows 服务器上设置定期任务?
提前致谢。
最佳答案
正如您在问题中指出的那样 - 因为您的 Windows 机器位于 NAT 路由器后面,所以您的 Windows 机器从您的 Debian VM 中“拉取”文件可能比您的 Debian VM“推送”文件更简单到您的 Windows 机器。将文件从 Debian VM 推送到 Windows 机器需要您在 Windows 机器上设置某种类型的服务器,它会在某个指定端口上监听来自 Debian VM 的传入连接,这需要您设置端口转发规则你的 NAT 路由器,它会要求你设置一个动态 DNS 主机名,只要你的路由器的公共(public) IP 发生变化,该主机名就会发生变化。而且,由于您要向公众开放一个端口,因此还需要您考虑安全因素,以确保不会受到任何损害。
因此,从您的 Debian VM 将文件拉到您的 Windows 机器会更简单。如您所述,一种方法是安装 Cygwin 并使用 rsync。另一种解决方案可能是在 windows 机器上安装 putty
,然后在 windows 机器上使用 pscp
将文件从远程 debian 主机复制到 windows 机器。 pscp
命令可以使用 DOS 批处理脚本、Powershell 或任意数量的其他 Windows 脚本工具编写脚本。参见 http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html了解更多信息。
关于linux - 从 Linux 备份到 Windows Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27216358/