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 [email protected]:/root/user.sql ./        

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

功能:本地傳輸到遠程

source:本地的文件,多個文件用“空格”隔開

user:遠程主機的用戶名

host:遠程主機的ip

target:遠程的存放路徑可指定文件名。如:/root/test.zip, 若不指定則默認原文件名

例:pscp -v test.zip [email protected]:/root/test_rename1.zip

例:pscp -v test.zip, a.zip [email protected]:/root/

注:傳輸多個文件不能指定文件名哦!

格式三:pscp [options] -ls [user@]host:filespec

功能:查看遠程主機的目錄

-ls:應該是list的意思,可以簡單的理解爲我們在linux下的ls 命令一樣。 不就是列目錄嘛!

user:遠程主機的用戶名

host:遠程主機的IP

filespec:遠程主機的相應目錄

例:pscp -ls [email protected]:/root/

意思是查看這臺主機下的root目錄, 不錯吧!

pscp options(參數)

參數描述(英文)描述(中文)
-Vprint version information and exit打印版本信息並退出
-pgpfpprint PGP key fingerprints and exit 未知,等解, 有知道的朋友請留言詳細描述一下, thks.
-ppreserve file attributes保留文件屬性
-qquiet, don't show statistics悄悄地, 不顯示統計數據

-rcopy directories recursively遞歸拷貝目錄
-vshow verbose message顯示冗餘信息
-loadsessname Load settings from saved session加載保存好的會話設置
-P portconnect to specified port連接指定的端口(如果不用此選項,默認爲22端口)
-l userconnect with specified usernam

指定用戶連接   

-pw passwlogin with specified password

顯式的輸入用戶密碼

-1 -2force use of particular SSH protocol version強制使用指定SSH協議版本, 可以通過:cat /etc/ssh/ssh_config | grep Protocol 來查看, 也可以用pscp -v的形式先連接一下, 它會顯示出所有冗餘信息,其中會有這麼一行Using SSH protocol version 2 具體試一下就知道了!
-4 -6force use of IPv4 or IPv6強制使用IPv4或IPv6
-Cenable compression使用壓縮
-i keyprivate key file for authentication認證所需要的私有密鑰文件
-noagentdisable use of Pageant不使用Pageant
-agentenable use of Pageant使用Pageant
-batchdisable all interactive prompts禁用所有交互提示
-unsafeallow server-side wildcards (DANGEROUS)允許服務器段的通配符
-sftpforce use of SFTP protocol強制使用SFTP協議
-scpforce use of SCP protocol強制使用SCP協議

簡單說一下幾個參數:

-P 指定ssh的端口, 注意是大寫的P

pscp -P 2992 test.zip [email protected]:/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個小時左右就完成了全部的傳輸工作。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章