Home

PHP

Mysql

Linux

Jquery

Module

Tblog

windows与linux传输工具pscp详解

朋友的一个sns网站之前一直用的是windows 2003的服务器, 维护起来确实不是很方便,出于管理,稳定,以及安全它一直是我的心病, 正赶上最近朋友的网站要改版, 而且要做一些后台的任务,于是想把网站迁移到另外一台linux的服务器上。 如何转移是好呢, sns的网站大家也知道数据量非常的大,而且图片太多了。 如果是用ftp下载下来再上传到另外一台服务器上, 时间就不是以天为单位了。

于是网上搜索有关windows的传输工具, pscp出现在我的眼帘。 呵呵

pscp是putty安装包所带的远程文件传输工具,使用和Linux下scp命令相似。

下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

如何应用呢?以下以我本地的电脑为例:

命令行下进入该目录,pscp help看一下它的相应参数:

Usage:

格式一:pscp [options] [user@]host:source target  

功能:远程传输到本地

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个小时左右就完成了全部的传输工作。

posted @ 2012-09-20 13:19  追逐_something  阅读(28701)  评论(0编辑  收藏  举报