朋友的一个sns网站以前一直用的是windows 2003的服务器, 维护起来确实不是很方便,出于管理,稳定,以及安全它一直是个人心病, 正遇上最近朋友的网站要改版, 并且要作一些后台的任务,因而想把网站迁移到另一台linux的服务器上。 如何转移是好呢, sns的网站你们也知道数据量很是的大,并且图片太多了。 若是是用ftp下载下来再上传到另一台服务器上, 时间就不是以天为单位了。html
因而网上搜索有关windows的传输工具, pscp出如今个人眼帘。 呵呵linux
pscp是putty安装包所带的远程文件传输工具,使用和Linux下scp命令类似。sql
下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlwindows
如何应用呢?如下以我本地的电脑为例:安全
命令行下进入该目录,pscp help看一下它的相应参数:服务器
Usage:session
格式一:pscp [options] [user@]host:source target ssh
功能:远程传输到本地ide
user:远程主机的用户名工具
host:远程主机的ip
source:远程主机上的文件, 只能是单个。
target:本地的存放路径可指定文件名。如:./test.zip, 若不指定则默认原文件名
列:pscp root@192.168.1.245:/root/user.sql ./
格式二:pscp [options] source [source....] [user@]host:target
功能:本地传输到远程
source:本地的文件,多个文件用“空格”隔开
user:远程主机的用户名
host:远程主机的ip
target:远程的存放路径可指定文件名。如:/root/test.zip, 若不指定则默认原文件名
例:pscp -v test.zip root@192.168.1.245:/root/test_rename1.zip
例:pscp -v test.zip, a.zip root@192.168.1.245:/root/
注:传输多个文件不能指定文件名哦!
格式三:pscp [options] -ls [user@]host:filespec
功能:查看远程主机的目录
-ls:应该是list的意思,能够简单的理解为咱们在linux下的ls 命令同样。 不就是列目录嘛!
user:远程主机的用户名
host:远程主机的IP
filespec:远程主机的相应目录
例:pscp -ls root@192.168.1.245:/root/
意思是查看这台主机下的root目录, 不错吧!
pscp options(参数)
参数 | 描述(英文) | 描述(中文) |
-V | print version information and exit | 打印版本信息并退出 |
-pgpfp | print PGP key fingerprints and exit | 未知,等解, 有知道的朋友请留言详细描述一下, thks. |
-p | preserve file attributes | 保留文件属性 |
-q | quiet, don't show statistics | 悄悄地, 不显示统计数据 |
-r | copy directories recursively | 递归拷贝目录 |
-v | show verbose message | 显示冗余信息 |
-load | sessname Load settings from saved session | 加载保存好的会话设置 |
-P port | connect to specified port | 链接指定的端口(若是不用此选项,默认为22端口) |
-l user | connect with specified usernam | 指定用户链接 |
-pw passw | login with specified password | 显式的输入用户密码 |
-1 -2 | force use of particular SSH protocol version | 强制使用指定SSH协议版本, 能够经过:cat /etc/ssh/ssh_config | grep Protocol 来查看, 也能够用pscp -v的形式先链接一下, 它会显示出全部冗余信息,其中会有这么一行Using SSH protocol version 2 具体试一下就知道了! |
-4 -6 | force use of IPv4 or IPv6 | 强制使用IPv4或IPv6 |
-C | enable compression | 使用压缩 |
-i key | private key file for authentication | 认证所须要的私有密钥文件 |
-noagent | disable use of Pageant | 不使用Pageant |
-agent | enable use of Pageant | 使用Pageant |
-batch | disable all interactive prompts | 禁用全部交互提示 |
-unsafe | allow server-side wildcards (DANGEROUS) | 容许服务器段的通配符 |
-sftp | force use of SFTP protocol | 强制使用SFTP协议 |
-scp | force use of SCP protocol | 强制使用SCP协议 |
简单说一下几个参数:
-P 指定ssh的端口, 注意是大写的P
pscp -P 2992 test.zip root@192.168.1.245:/root/
-l user 的用户
pscp -l root test.zip 192.168.1.245:/root/ 其实就是把user提到了前面用-l来指定。
-pw passw
pscp -l root -pw 123456 test.zip 192.168.1.245:/root/ 与-l同样。 能够直接指定密码,出于安全性考虑不见意这样使用。
其它参数可根据本身的需求查看参数表, 以上是pscp的全部用法介绍, 应该够你用了。
个人朋友的网站的解决方案是我在他的服务器上把相应文件打成N个ZIP包(windows zip有限制因此只能打N个了, 虽然有点傻X,但我没想到其它好办法), 而后使用PSCP批量传输过去的。 注意包必定是zip的, 到linux上能够用unzip来解压。速度很快, 大概在5个小时左右就完成了所有的传输工做。