scp与rsync的对比

一、scp 命令

1.scp 是 secure copy 的缩写,用于远程的文件的复制。

2.参数:

-r: 递归复制整个目录。

3.实例:

scp /home/space/music/1.mp3 username@ip/home/root/others/music     

scp /home/space/music/1.mp3 username@ip/home/root/others/music/001.mp3

如果是远程复制目录就加上 -r 参数 即可(重命名目录,就直接在命令后面添加,前提保证目标地址没有该目录)

scp -r /home/space/music/ username@ip:/home/root/others/music_new

把本地music目录复制到另一台服务器的others下,并重命名为music_new

回到顶部

二、rsync 命令

1.rsync 是 remote sync 的缩写,用于linux系统下的数据镜像备份工具,远程服务器之间的文件拷贝。

2.参数:

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

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

-z, --compress 对备份的文件在传输时进行压缩处理。

-P, --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输。

3.实例:

rsync -avp mylog /home/

rsync还有更加强大的功能,本人暂时还用不是上,先不做笔记 


回到顶部

三、scp 和 rsync 的区别

scp是相当于复制,黏贴,如果有的话是覆盖,比较耗时间,不智能。

rsync是复制,如果有重复的文件,会直接跳过,而且他自己的算法优化。

scp是把文件全部复制过去,当文件修改后还是把所有文件复制过去,rsync 第一次是把所有文件同步过去,当文件修改后,只把修改的文件同步过去。

两者详细的区别对比链接文章: rsync与scp对比

显示进度条

rsync -av --progress /home/ftp2/* /home/ftp3

拷贝目录时,会发生一下错误,经过实践,第二个解决方案解决了

  1. rsync: recv_generator: mkdir "test" (in dest) failed: Permission denied (13)

  2. *** Skipping everything below this failed directory ***

  3. 这个表明权限不正确解决办法三个:(1)把备份服务器/etc/rsync.conf gid和uid 修改为root; (2)把备份目录上的权限设置为777;(3)修改备份目录拥有者和所属组为/etc/rsync.conf配置文件中的gid和uid

拷贝目录命令

sudo rsync -avzP --delete --progress /mnt/sdc1/guanxixin/modify_insightface/ [email protected]:/data/xinguanxi/insightface/

猜你喜欢

转载自blog.csdn.net/qq_15505637/article/details/81087628