服务器之间常用文件传输命令-scp-rsync

服务器间传输文件常用命令

由于要经常在本地主机与服务器之间,以及服务器与服务器之间传输文件,虽然目前大多数ssh类软件都已经支持了sftp功能,但是这些功能在传大量小文件的文件夹时不是很好用,而且我用的比较多的xftp经常会卡死,而且在服务器与服务器之间传输文件就没有那么好用的图形化程序,所以后面我就逐渐习惯用命令行来传输数据了,一般我常常使用的scp和rsync这两条命令

scp 远程复制命令(Windows 和 linux都支持)

#scp是cp的升级形式,可以实现远程主机之间的文件复制
#从本地复制到远程,-P指定传输端口,默认端口是22
#如果需要传输文件夹使用 -r 参数
scp -P port file_path user_name@host:save_path
#从远程复制到本地
scp -P port user_name@host:file_path save_path

rsync 远程同步命令

#rsync 能够快速比较两个目录之间差异进而实现只复制少量数据就可以实现目录间文件的同步

rsync options source destination

#其中source 表示源地址,destination表示目的地址,执行时将source数据同步到destination上
#这里源地址和目的地址至少有一个是本地地址,即rsync不支持远程服务器和远程服务器之间的文件复制

#rsync中支持2种协议,一种是ssh协议,一个是rsync协议,默认使用ssh协议
#当远程地址中以 user@host:path 则表示ssh协议
#当远程地址中以 user@host::path 则表示使用rsync协议

#这里我们值介绍常见的使用ssh的方式进行同步,使用rsync协议的暂时使用不上,所以先挖个坑

#这是最常见的一种用法-av参数下面列表中有说明,这里默认使用了ssh协议,并且默认端口是22
#远程作为目标,使得远程与本地一致
rsync -av local_dir root@xx.xx.xx.xx:./remote_dir
#本地作为目标,使得本地与远程一致
rsync -av  root@xx.xx.xx.xx:./remote_dir local_dir

#当需要指定端口时,只需要使用-e选项即可
rsync  -e 'ssh -p port' -av local_dir root@xx.xx.xx.xx:./remote_dir

#其中--delete参数也还是经常会使用的参数,表示当目标对象中存在src中不存在的文件时,删除该文件
rsync -av --delete local_dir root@xx.xx.xx.xx:./remote_dir

#日常使用时还可以加上  -z  选项来在同步过程中使用压缩机制加快传输
rsync -azv --delete local_dir root@xx.xx.xx.xx:./remote_dir

#--exclude path 可以指定不需要进行同步的文件和文件夹
rsync -azv --exclude local_dir/file  local_dir root@xx.xx.xx.xx:./remote_dir
#不同步localdir下的某个文件或者文件夹


rsync也可以用来同步本地文件夹,做备份一类的工作

OPTION选项功能
-a这是归档模式,表示以递归方式传输文件,并保持所有属性,它等同于-r、-l、-p、-t、-g、-o、-D 选项。-a 选项后面可以跟一个 --no-OPTION,表示关闭 -r、-l、-p、-t、-g、-o、-D 中的某一个,比如-a --no-l 等同于 -r、-p、-t、-g、-o、-D 选项。
-r表示以递归模式处理子目录,它主要是针对目录来说的,如果单独传一个文件不需要加 -r 选项,但是传输目录时必须加。
-v表示打印一些信息,比如文件列表、文件数量等。
-l表示保留软连接。
-L表示像对待常规文件一样处理软连接。如果是 SRC 中有软连接文件,则加上该选项后,将会把软连接指向的目标文件复制到 DEST。
-p表示保持文件权限。
-o表示保持文件属主信息。
-g表示保持文件属组信息。
-D表示保持设备文件信息。
-t表示保持文件时间信息。
–delete表示删除 DEST 中 SRC 没有的文件。
–exclude=PATTERN表示指定排除不需要传输的文件,等号后面跟文件名,可以是通配符模式(如 *.txt)。
–progress表示在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、 同步的文件传输速度等。
-u表示把 DEST 中比 SRC 还新的文件排除掉,不会覆盖。
-z加上该选项,将会在传输过程中压缩。

版权声明:本文为zwplus原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。