仅 scp 特定文件夹

仅 scp 特定文件夹

有些命令行语法我不知道如何设置,有时我是个菜鸟,抱歉,这很明显

假设我的所有资产都有以下路径:

/var/www/site/system/images/{image_id}/{format}/{file}.{extension}

在 {image_id} 文件夹中,我有多种格式(原始、中等、缩略图等...)。

我只想导入 /var/www/site/system/images/{image_id}/original 文件夹,并在本地保留结构

scp -r username@server:/var/www/site/system/images/*/original ~/Site/site/system/images

这个确实可以得到所有内容,但是所有文件最终都位于同一个唯一的文件夹中,没有结构。

我想保留该结构。有什么办法吗?

答案1

使用 rsync,因为 scp 在很多方面受到限制。

为了帮助您入门,这里有一个示例:

rsync genja.org:/home/www/*/html/ /tmp/dest/html/ -avin 
host: genja.lan 
receiving incremental file list
created directory /tmp/dest/html
cd+++++++++ ./
>f+++++++++ tabs.html
cd+++++++++ borders/
cd+++++++++ borders/border-radius/
>f+++++++++ borders/border-radius/border-radius.htc
>f+++++++++ borders/border-radius/border-radius.html
cd+++++++++ borders/css-tricks.com/
(...)

如果您想查看正在发生的事情,重要的选项是 -a 和 -v。如果您添加 -in,则命令将仅假装正在运行,因此您可以查看将复制什么以及复制到哪里。

尾部斜线的处理方式有细微差别。只需确保在目标文件夹和源文件夹上都包含尾部斜线即可。

相关内容