最近在学习docker,感觉学习的路上遇到了好多坑,网上的教程也真的是狗血居多,大部分都是在他们的环境下能正常运行,在我的环境下就GG。好在有大佬带着我,少走了一些弯路。在docker环境配置好了之后呢。就需要进行简单地将web项目配置到服务器上。本来是想着将项目从svn上check out出来之后,通过Xftp运到服务器上然后部署。结果,svn出了错误,所以,只能通过同一局域网下另一个ip的服务器去拷贝项目。这就使得我接触到了神奇的scp命令。
举个栗子:
两台机器IP分别为:A.104.238.161.75,B.43.224.34.73。在A服务器上操作,将B服务器上/home/lk/目录下所有的文件全部复制到本地的/root目录下,命令为:scp -r root@43.224.34.73:/home/lk /root。
[root@hh ~]# scp -r root@43.224.34.73:/home/lk /root
root@43.224.34.73's password:
k2.sql 100% 0 0.0KB/s 00:00
k.zip 100% 176 0.2KB/s 00:00
.bash_history 100% 32 0.0KB/s 00:00
.bash_logout 100% 18 0.0KB/s 00:00
.bashrc 100% 231 0.2KB/s 00:00
k3.sql 100% 0 0.0KB/s 00:00
.bash_profile 100% 193 0.2KB/s 00:00
[root@hh ~]# ls
在A服务器上将/root/lk目录下所有的文件传输到B的/home/lk/cpfile目录下,命令为:scp -r /root/lk root@43.224.34.73:/home/lk/cpfile。
[root@hh lk]# scp -r /root/lk root@43.224.34.73:/home/lk/cpfile
root@43.224.34.73's password:
k2.sql 100% 0 0.0KB/s 00:00
k3.sql 100% 0 0.0KB/s 00:00
.bash_profile 100% 193 0.2KB/s 00:00
.bash_logout 100% 18 0.0KB/s 00:00
.bash_history 100% 32 0.0KB/s 00:00
k.zip 100% 176 0.2KB/s 00:00
.bashrc 100% 231 0.2KB/s 00:00
[root@hh lk]#
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,
不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。
可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。
另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。
虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。