scp与rsync命令的用法比较

发布时间:2019-12-11编辑:脚本学堂
在linux中,用于文件复制与同步,可以用scp与rsync来实现,二者在用法上有哪些区别呢?请看本文的介绍。

1,rsync的用法
rsync -avrhz --port=36000 --bwlimit=5000 file mysql@192.168.10.111#36000:/data/dbbak
-a:--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
-h:
-z:--compress 对备份的文件在传输时进行压缩处理
-P -P参数和 --partial --progress 相同。参数简单化(支持单点续传)

2,同步推送客户端某个目录中(例:/home/zhanguan/abc)的文件到服务器端的/opt/htdocs目录:
/usr/bin/rsync -vzrtopg --delete /home/zhanguan/abc/ -e ssh www@10.0.0.10:/opt/htdocs/
-t:--times 保持文件时间信息
-o:--owner 保持文件属主信息
-p:--perms 保持文件权限
-g:--group 保持文件属组信息
--delete 删除传送端已经不存在,而目的端存在的档案

名称:cp

使用权限:所有使用者

使用方式:
cp [options] source dest
cp [options] source... directory

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb

将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished

命令:scp

不同的linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。
如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。
scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录。