备份一个Linuxnetworking服务器到Windows

我有我们的网站托pipe在第三方networking服务器。 我有所有的pipe理访问需要。 我有一个本地的Win2K3机器使用retrospect来备份所有联网的机器和服务器,navicat在本地和远程linux webserver上备份mysql dbs。

所以剩下的唯一部分就是在Web服务器上对文件进行增量备份。 任何人有任何build议如何做到这一点?

重要提示:

  • 备份必须是自动的
  • 由于Windows服务器包含了所有的公司数据,因此无法向外界公开。 但它可以联系外部世界并请求数据。
  • 这是一个共享服务器,所以安装一个新的rsync客户端(如Unison)将不起作用

更新:在Windows机器上尝试DeltaCopy客户端获取错误消息“连接拒绝”。 即使SSH启用和用户/通过进入authentication选项卡。 所以我的猜测是我的主机不允许我使用rSync。 (仍在研究这个)。 证实,我的主机说:“你只能使用FTP,没有rSync”

这不是很漂亮,但是cwrsync呢? 这只是Cygwin版本的rsync的一个自包含的包,只包含最低限度的DLL。 从内存中,所有东西都存在于一个目录中,所以它不应该与Windows服务器上的其他任何东西冲突。 然后您将以客户端模式作为计划任务运行它。

编辑:

鉴于您的托pipe服务提供商已经告诉您,FTP是您唯一的select,我所能想到的最好的方式就是使用wget 。 它可以镜像FTP站点。 有可用于较旧版本(1.11.x)的Windows二进制文件 ,可以满足您的需求。 然后你可以在batch file中做这样的事情:

 wget --mirror --ftp-user=you --ftp-password=pass -P c:/dir ftp://your.host/path/ 

--mirror选项将尝试聪明的不下载没有改变的文件。 默认情况下,它会将文件放在一个为FTP服务器命名的目录中,并将包含文件的完整(FTP)path。 你可以用--no-host-directories--cut-dirs选项来控制它。

我会说DeltaCopy是你想要的东西,作为一个服务运行,支持Rsync(这是从你的Windows服务器到Linux框),并在核心rsync风格差异,所以你只是去要移动你需要的数据,而不是每一天。

那就是除非你想用付费解决scheme,然后像SecondCopy – http://www.centered.com/ – 它也作为服务运行,并支持FTP。

目前我通过FTP使用wget,直到主机启用rsync。 一旦rsync可用,我会切换到已经在Windows服务器上运行cwrsync服务器。 后者在我们的内部Linux机器上工作得非常好。

当前的wget解决scheme创build一个日志文件。 一个同步完成后,日志被parsing,寻找这个和以前的同步之间的差异,忽略了一些总是会有变化的东西。 这样,我收到一封电子邮件,让我知道是否有任何文件被修改,添加或删除。 当我们切换到rsync时,我会看看它的日志。