windows與linux傳輸工具pscp詳解

朋友的一個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個小時左右就完成了所有的傳輸工做。

相關文章
相關標籤/搜索