我正在尝试同步具有不同名称的文件夹的两个内容:
rsync -av ~/foo user@remote.com:/var/www/bar
我想将 foo
的内容复制到远程主机上的 bar
,而不是目录 foo
本身。我尝试过类似 foo/*
的方法,但 rsync 不支持。
rsync 总是创建
/var/www/bar/foo
rsync 将带有 no 斜杠的目录解释为 copy this directory
,将 带有 斜杠的目录解释为 copy the contents of this directory
。
试试rsync -av ~/foo/ user@remote.com:/var/www/bar/
这很简单,
rsync /var/www/ /home/var
- 复制 /var/www/ 的内容,但不复制 www 文件夹本身。
rsync /var/www /home/var
- 复制文件夹 www 及其所有内容。
不仅与 rsync 相关,而且当您在寻找有关如何使用 GNU/Linux 命令的示例时,您可以使用显示显式示例的“eg”。例如,可在此处获得,并附有如何安装的说明:https://github.com/srsudar/eg
eg rsync
的结果如下
# rsync
copy the folder source_dir and its content into destination_dir
rsync -av source_dir destination_dir
copy the contents of source_dir (trailing slash) into destination_dir
rsync -av source_dir/ destination_dir
导航到您要复制的目录,因此:
cd ~/foo
运行这个:
rsync -avz . user@remote.com:/var/www/bar
mv
或cp
相比,这种行为很奇怪。/
。*
的工作方式可能很奇怪。*
扩展,因此如果您在一个目录中有许多文件,您的命令cp src/* dest
可能会扩展为一个庞大的命令。同样,所有的猜测,但也许rsync
出于这个原因离开了它