如果数据文件比较大,单单依靠压缩、转移托转等工序也是可行的,其实我们也可以使用SCP命令进行服务器之间的拖动,这个也是我们在Linux服务器之间网站数据文件的拖动转移,而且并不需要压缩直接将指定目录下的所有文件都拖过去,比如数据文件有几个GB,通过打包压缩、拖动解压比较耗费时间,直接利用SCP命令就很简单的实现。
我们熟悉的CP命令只能适合当前VPS服务器的目录之间的复制转移,SCP可以进行服务器之间的远程拷贝文件,而且速度更快,而且传输过程是加密的。在这篇文章中,老蒋将会整理和演练SCP命令的常用命令,这样在遇到大文件网站数据迁移拷贝的时候可以用上。
第一、SCP基本用法
代码如下 | 复制代码 |
scp [参数] [原路径] [目标路径] |
第二、SCP常用参数及说明备注
代码如下 | 复制代码 |
-1 强制scp命令使用协议ssh1 -2 强制scp命令使用协议ssh2 -4 强制scp命令只使用IPv4寻址 -6 强制scp命令只使用IPv6寻址 -B 使用批处理模式(传输过程中不询问传输口令或短语) -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能) -p 保留原文件的修改时间,访问时间和访问权限 -q 不显示传输进度条 -r 递归复制整个目录 -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题 -c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh -F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh -i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh -l limit 限定用户所能使用的带宽,以Kbit/s为单位。 -o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式, -P port 注意是大写的P, port是指定数据传输用到的端口号 -S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项 |
第三、SCP命令常见用法实例
A - 复制当前文件到远程服务器目录
代码如下 | 复制代码 |
scp [当前文件] [远程服务器用户@远程服务器IP]:[远程服务器目录] |
示范案例:
代码如下 | 复制代码 |
scp itbulu.com.txt root@121.54.xxx.xxx:/root/ |
解释:将当前VPS服务器当前目录中的itbulu.com.txt文件远程拷贝送至121.54.xxx.xxx服务器/root/目录中。
执行过程中我们需要先确定yes/no,是否执行转移,这里我肯定输入yes然后回车,然后提示需要输入远程服务器的ROOT用户名密码,然后执行拷贝。
B - 复制当前文件夹/目录到远程服务器目录
代码如下 | 复制代码 |
scp -r [当前服务器网站目录/文件夹] [root@远程服务器IP地址]:[远程服务器目录] |
示范案例:
代码如下 | 复制代码 |
scp -r /root/mini/ root@121.54.xxx.xxx:/root/itbulu |
解释:将当前目录中的/mini/文件夹所有内容,拷贝至远程服务器中的/root/itbulu/目录中。
在执行过程中需要我们输入远程服务器的ROOT密码然后回车就执行,会根据我们文件数据的多少以及之间的传输速度决定需要多久才能传输完毕。
C - 将远程服务器的内容/文件拷贝到本地当前服务器
1、复制文件到本地
代码如下 | 复制代码 |
scp [root@远程服务器IP地址]:[远程服务器目录文件] [当前服务器网站目录/文件夹] |
示范实例:
代码如下 | 复制代码 |
scp root@121.54.xxx.xxx:/soft/itbulu.com.tar.gz /soft/ |
其实很简单,我们可以看到只要将上面前后颠倒一下就可以。
2、复制目录到本地
代码如下 | 复制代码 |
scp -r [root@远程服务器IP地址]:[远程服务器目录] [当前服务器网站目录/文件夹] |
示范实例:
代码如下 | 复制代码 |
scp -r root@121.54.xxx.xxx:/root/itbulu /root/mini/ |
第四、SCP命令拷贝和复制网站目录总结
以上老蒋整理和分享到SCP命令的常见用法,以及几个常用实例示范,这样我们在搬迁网站数据的时候就不需要进行拷贝到本地,然后再进行本地上传这样复杂的过程。直接可以采用SCP命令远程上传转移以及拖到直接文件夹到对应的目录中,而且整个过程是加密且速度较快的。