scp,rsync远程拷贝文件过滤文件

平时的工作中经常需要推送代码,文件资源到服务器,也从服务器中拷贝资源到本地,基本上通过scp就能方便满足需求:

scp file1 root@host:/path/to/dest/
scp -r /path/to/source/file/ root@host:/path/to/dest/

详细了解scp和rsync这两个命令我看到一篇博文说的比较详细https://www.cnblogs.com/kevingrace/p/8529792.html 这里我就只记录一下我的需求和命令。这次我需要从服务器上拷贝大量文件到本地,但是其中有一个文件夹我需要过滤掉,用scp的话不知道如何过滤,所以就需要用到rsync这个命令进行过滤拷贝:

命令如下

rsync -e ssh -av --exclude=goods [email protected]:/home/hfyt666/front_end_pc/ ./ 

rsync 搭配 ssh

 -e ssh :使用 ssh 作为远程 shell,这样所有的东西都被加密

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

-v, --verbose 详细模式输出

--exclude 指定同步时需要过滤掉的文件或子目录(即不需要同步过去的),后面直接跟不需要同步的单个文件名或子目录(不需要跟路径,也不需要写引号) ,过滤多个文件或子目录,就使用多个--exclude=goods  --exclude=goods2

我这条命令就是远程从服务器ip为47.94.106.106电脑上/home/hfyt666/front_end_pc/文件夹整体拷贝到当前目录过滤掉里头goods这个文件夹。

这样就能满足我的需求,当然如果还有其他需求可以自行研究一下这两个命令

你可能感兴趣的:(linux,网络)