Linux 的 SCP 命令的作用就是服务器数据迁移到新的服务器。简单点就是说
把网站从一台服务器上直接搬到新的服务器上
一般来说,网站搬家就两种方式:
- 从服务器上下载到本地,再传到新的服务器
- 从旧的服务器直接搬到新的服务器
无疑,第二种显然比第一种快。把服务器数据迁移到新的服务器,在Linux系统中(包括春衍生版本如 CentOS 等等),使用 SCP 命令就可以了。
下面我们举例:
1、传文件夹[即把网站文件夹(包括里面所有文件夹、文件)传到新的服务器上]:
scp -P 22 -r -p /www/wwwroot/XXXXX/ root@168.168.168.168:/www/wwwroot/XXXXX/
说明:
XXXXX:你网站的文件夹,第一个是旧服务器上的,第二个是新服务器上的(不需要新创建)
root:Linux 系统默认管理员帐号
168.168.168.168:新服务器 IP 地址
/www/wwwroot/XXXXX/:第一个是旧服务器上网站的路径,第二个是新的
-P 22:这是服务器SSH端口,一般默认22,两台服务器都用22时,可以省略,即上述可写为:
scp -r -p /www/wwwroot/XXXXX/ root@168.168.168.168:/www/wwwroot/XXXXX/
网上有的资料把上面的命令写成:
scp -r /www/wwwroot/XXXXX/ root@168.168.168.168:/www/wwwroot/XXXXX/
即省略了小写的参数“-p”,也是可以的,但有坑;省了这个参数,那么,所有的文件夹、文件的创建时间就变成你的迁移时间,更重要的一点,会直接出故障的就是在新的服务器上需要 777 权限的文件夹、文件会变成 755 导致出错。即小写的参数“-p”的作用就是,网站搬过去,所有文件夹、文件的创建时间、权限保持不变。所以,小写的参数“-p”一定得加上、一定得加上、一定得加上!(重要的说三遍)
一般来说,就上面说的这条命令的方式就足够了,但如果一台服务器上图片文件夹和文件太多的话,可以先搬其它的文件夹,最后再传图片文件,可以分开传,一个个传。
2、传文件
scp -P 22 -r -p /www/wwwroot/XXXXX/r.php root@168.168.168.168:/www/wwwroot/XXXXX
3、传某个文件夹下所有文件:
scp -P 22 -r -p /www/wwwroot/XXXXX/img/2018/* root@168.168.168.168:/www/wwwroot/XXXXX/img/2018
scp -P 22 -r -p /usr/local/mysql/var/XXX/* root@168.168.168.168: /usr/local/mysql/var/XXX
4、对传到新服务器的文件重命名:
scp -P 22 -r -p /www/wwwroot/XXXXX/r.php root@168.168.168.168:/www/wwwroot/XXXXX/c.php
以上就是对 SCP 命令的常用方法和参数的解说和具体举例,更多 SCP 命令的用法,可以在服务器命令行下打“?”会列出所有参数和使用说明。
暂无评论内容