一、scp 命令
1.scp 是 secure copy 的缩写,用于远程的文件的复制。
2.参数:
-r: 递归复制整个目录。
3.实例:
scp /home/elasticsearch.zip username@${ip}/home/root/others/
scp /home/elasticsearch.zip username@${ip}/home/root/others/elasticsearch.zip
如果是远程复制目录就加上 -r 参数 即可(重命名目录,就直接在命令后面添加,前提保证目标地址没有该目录)
scp -r /home/elasticsearch username@ip:/home/root/others/elasticsearch_new
把本地elasticsearch目录复制到另一台服务器的others下,并重命名为elasticsearch_new
二、rsync 命令
1.rsync 是 remote sync 的缩写,用于linux系统下的数据镜像备份工具,远程服务器之间的文件拷贝。
2.参数:
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-v, --verbose 详细模式输出。
-z, --compress 对备份的文件在传输时进行压缩处理。
-P, --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输。
-e,改变端口
3.实例:
rsync -avp mylog /home/
默认22作为传输端口:
rsync -av elasticsearch elasticsearch-6.0 root@${ip}:/opt
端口为其他,比如3222:
rsync -av -e ‘ssh -p 3222’ elasticsearch elasticsearch-6.0 root@${ip}:/opt
rsync还有更加强大的功能,本人暂时还用不是上,先不做笔记
三、scp 和 rsync 的区别
scp是相当于复制,黏贴,如果有的话是覆盖,比较耗时间,不智能。
rsync是复制,如果有重复的文件,会直接跳过,而且他自己的算法优化。
scp是把文件全部复制过去,当文件修改后还是把所有文件复制过去,rsync 第一次是把所有文件同步过去,当文件修改后,只把修改的文件同步过去。