Robocopy以recursion文件结构排除目录

这似乎是一个网上stream行的问题,但其他人似乎只能指定完整path的一部分,以实现一种通配符。 我认为,我需要更具体,因为我有一个recursion的文件结构,并且不能使用/ XJ。

上下文

我们在Windows 2008文件服务器上运行所有服务器的夜间备份,该服务器运行robocopy脚本以通过Samba文件共享执行差异备份。 我遇到的特殊备份是Linux共享的Web服务器。

备份这个特定服务器的特殊之处在于它使用recursion的文件结构,使用符号链接。 原因是服务器在chroot jail中运行suPHP,为了欺骗suPHP进入工作状态,需要一个recursion的文件结构。

目录结构的例子如下所示:

用户的主目录: /home/websites/wwww.customersite.com/home/wwww.customersite.com/

他们的网站是: /home/websites/www.customersite.com/home/www.customersite.com/public_html/

recursion开始于: /home/websites/www.customersite.com/home/websites/

所以当这个recursion开始的时候,在我的robocopy日志中,我看到了这样的条目:

\\ 10.230.0.25 \备份股\家\网站\用户\家\网站\用户\家\网站\用户\家\网站\用户\家\网站\用户\家\网站\客户…

现在,它似乎继续这样一段时间,然后达到一定的目录深度限制,并实际上备份文件。 但是我想摆脱这一点,因为它会导致备份相当广泛地运行到白天,并且无疑会给服务器带来额外的负担。

… \家\网站\用户\家\网站\用户\家\网站\用户\家\用户\的public_html \pipe理员\分量\ com_jce \ IMG \

我所试过的

在从基于Windows Vista +的系统复制之前,我已经看到了这种使用robocopy的recursion文件结构问题。 例如,备份C:\ Users时出现此问题:

https://superuser.com/questions/478882/delete-recursive-directory-created-by-robocopy-when-the-file-name-is-too-long

如上所述,我以前已经可以使用/ XJ来解决这个问题。 不过,我猜测,由于文件正在从Linux系统复制,recursionsym-link不会显示为与robocopy的联结点。

我还没有find一种方法使sym-link成为交接点。

当然,我也无法在这里看到使用/ XD的方法,因为我需要能够备份/ home / websites /中的所有数据,所以/ XD / home / websites /肯定会否定该文件夹的备份。

理想情况下,我想要的东西是这样的:

/ XD /home/websites/.+/home/websites/.+

甚至只是:

/ XD /home/websites/.+/home/websites/

任何帮助赞赏。

谢谢!

也许在Linux服务器上的rsync cron作业将其转储到您的robocopy可以抓取的tar? 那么你可以简单地排除整个原始path。

对我来说,我做了以下几点:

我有几个Linux服务器,我只需要ETC和一些文件夹备份。 我做一个rsync tar,然后使用PSCP来抓取tar文件(因为它每晚都会改变)。 然后,我的PSCP脚本删除它在7天之前抓取的任何东西(因为Windows备份抓取“转储到”文件夹,所以技术上我有备份备份的异地。

希望有所帮助。

你有没有读过这个: https : //serverfault.com/a/304993/171115 ?

我尝试在我的电脑,它的工作! 在我做一些复制品之前:

cd c:\temp mkdir source cd source for %i in (user1 user2 user3) do (mkdir %i\source %i\others) 

好? 那么我想复制一切,除了用户* \来源,对不对?

 cd c:\temp robocopy source dest /mir /r:1 /w:1 /xd source