Linux 在具有类似子文件夹/子树的多个文件夹上使用通配符安全复制scp或rsync

Linux 在具有类似子文件夹/子树的多个文件夹上使用通配符安全复制scp或rsync,linux,ubuntu,unix,centos,redhat,Linux,Ubuntu,Unix,Centos,Redhat,您好,我需要帮助才能完成以下尝试--将我在远程计算机中开发的代码和笔记本备份到我的本地计算机上。我相信很多人都有类似的想法来定期工作 我有多个具有类似子文件夹的文件夹,我只想复制这些子文件夹 在远程机器上 /home/userme/Project1/Codes/Python_scripts/ /home/userme/Project1/Codes/R_scripts/ /home/userme/Project2/Codes/Python_scripts/ /home/us

您好,我需要帮助才能完成以下尝试--将我在远程计算机中开发的代码和笔记本备份到我的本地计算机上。我相信很多人都有类似的想法来定期工作

我有多个具有类似子文件夹的文件夹,我只想复制这些子文件夹

在远程机器上

/home/userme/Project1/Codes/Python_scripts/    
/home/userme/Project1/Codes/R_scripts/    
/home/userme/Project2/Codes/Python_scripts/    
/home/userme/Project2/Codes/R_scripts/    
/home/userme/Project3/Codes/Python_scripts/    
/home/userme/Project3/Codes/R_scripts/    
....
请注意,Project*文件夹可能包含我不想备份的大型输入或输出文件夹/文件。我只希望特定代码文件夹是cp'ed/scp'ed

我曾想过做以下事情,但我确信这不会奏效:

$ scp -rf userme@10.128.1.1:/home/userme/*/Codes .

我需要quick bash脚本模板或1-liner,您可能已经拥有了它,请帮助;)

为什么不为i in/home/userme/Project*编写
;do scp-rf“$i/代码”userme@10.128.1.1:“$i”;完成
(我个人会使用
rsync
而不是
scp
。)是的,如果您有rsync解决方案,请建议。我已将标题更改为scp或rsync Now,使用
rsync
您可以使用
**
通配符,但这在
Project**
级别没有帮助,因为您无法保证远程主机上已经存在
ProjectX
。因此,使用
rsync
我仍然会做同样的事情,但是使用
-au
作为选项,而不是
-rf
。如果您构建
项目
(无
X
)目录,使所有代码都位于该目录下,那么使用
scp
rsync
(例如
/home/userme/Projects/Project{1,2,3,}
)备份将变得非常简单