2016-09-14 139 views
0

我想知道这是否可行。基本上,我正在尝试编写一个非常基本的脚本来帮助我加速CMS系统的几个安装(需要在特定文件夹中复制)的升级过程。rsync复制文件夹层次结构,但只有最后一个文件夹中的文件

所以我们可以说我有一个文件夹:

/home/sites/domain.co.uk/public_html/folder1/folder2/files 

我需要做的就是复制文件夹树,只在文件夹中的文件复制。

在我通过使用rsync -a的那一刻:

<?php 
exec("rsync -a /home/sites/domain.co.uk/public_html/folder1/folder2/files /home/sites/domain.co.uk/copy"); 
?> 

的问题,这是不是创建如下:

/home/sites/domain.co.uk/copy/folder1/folder2/files 

它创建

/home/sites/domain.co.uk/copy/files 

是有一种使用rsync复制以前的文件夹/结构的方法,所以我最终呢?

/home/sites/domain.co.uk/copy/folder1/folder2/files 

我很高兴使用rsync,而不是创造一个完整的PHP脚本等

回答

0

的rsync的功能是从一个地方转移到另一个文件或从一台服务器到另一个(如果你有根访问其他文件夹) 在你下面的例子

<?php 
exec("rsync -a /home/sites/domain.co.uk/public_html/folder1/folder2/files /home/sites/domain.co.uk/copy"); 
?> 

必须有你在指定的路径服务器上的文件夹files其中包含的文件和文件夹copy所有这些文件的Wi将被转移。

,而不是你可以试试下面的命令来传输文件

<?php 
exec("rsync -auv -e ssh --progress /home/sites/domain.co.uk/public_html/folder1/folder2/files /home/sites/domain.co.uk/copy"); 
?> 

--progress将显示正在传输的文件。

+0

嗨,谢谢你的输入。为了澄清,我上面提到的代码工作,但它不会复制'文件'文件夹之前的文件夹结构。我不确定如何使用auv -e将与此对抗?你能否详细说明一下? – user6796243

+0

'但它不会复制'文件'文件夹之前的文件夹结构.' rsync命令不是为了创建文件夹而是为了应对 – Exception

相关问题