Windows下用WinSCP傳輸數據到Linux上[轉]

轉自: http://ju.outofmemory.cn/entry/77341
Scenario:
最近公司做的一個項目,UI部分我是使用python在編譯時做localization的,是linux下運行的,但是開發是在windows下進行的每次編譯後都要手動通過WinSCP這個工具傳到測試機上測試,很麻煩.網上查了下WinSCP在windows下也可以在命令行下直接使用,於是就寫了個BAT文件編譯完後自動傳到測試及其上去.
ENV:
遠程機器: centos(IP:10.64.70.189)
遠程目錄:/var/tmso
編譯腳本:D:\tmso\tool\Compiler.py
輸出目錄:D:\tmso\build\release
WinSCP:D:\Program Files (x86)\WinSCP\WinSCP.exe
傳輸腳本:D:\tmso\tool\autoupload.txt

BAT文件內容
echo off
set psf=”D:\tmso\build\release”
set compilertooldir=”D:\tmso\tool\”
set scptool=”D:\Program Files (x86)\WinSCP\WinSCP.exe”
set script=”D:\tmso\tool\autoupload.txt”
d:
cd %compilertooldir%
python Compiler.py
if exist %psf% goto succ
if not exist %psf% goto fail
:succ
%scptool% /console /script=%script%
exit
:fail
echo No output dir:%psf%
pause

autoupload.txt文件內容
open root:[email protected]
synchronize remote D:\tmso\build\release /var/tmso -delete
exit

==========================================================

WinSCP命令行

WinSCP是一個Windows環境下使用SSH的開源圖形化SFTP客戶端。同時支持SCP協議。它的主要功能就是在本地與遠程計算機間安全的複製文件。

直接在cmd下輸入winscp進入winscp操作介面,查看幫助直接在下面輸入help就可以看到所以可用到的命令。

連接到遠程機器:
open yourusername@yourip
輸入密碼就成功登錄了。

輸入help:
winscp> help
call 執行任意遠程Shell命令
cd 改變遠程工作目錄
chmod 改變遠程文件權限
close 關閉會話
exit 關閉所有會話並結束程序
get 從遠程目錄下載文件到本地目錄
help 顯示幫助
keepuptodate 在一個遠程目錄連續反映本地目錄的改變
lcd 改變本地工作目錄
lls 列出本地目錄的內容
ln 新建遠程符號鏈接
lpwd 顯示本地工作目錄
ls 列出遠程目錄的內容
mkdir 新建遠程目錄
mv 移動或者重命名遠程文件
open 連接到服務器
option 設置或顯示腳本選項的值
put 從本地目錄上傳文件到遠程目錄
pwd 顯示遠程工作目錄
rm 刪除遠程文件
rmdir 刪除遠程目錄
session 列出連接的會話或者選擇活動會話
synchronize 用一個本地目錄同步遠程目錄

如果要查看某個命令的具體使用方法用:
help command
例:
help synchronize
winscp> help synchronize
synchronize local|remote|both [ [ ] ]
第一個參數是’local’時,用遠程與本地同步。
當第一個參數是’remote’時用本地目錄同步遠程目錄。
當第一個參數是’both’用一個同步另一個。
當目錄沒有指定時,同步當前工作目錄。
如果’synchdelete’設置爲’on’,舊文件會被刪除。
注意:對這個命令,覆蓋確認永遠是關閉的。
影響的選項:
transfer, synchdelete, exclude, include
範例:
synchronize remote
synchronize both d:\ /home/martin/public_html

雖然只是個文件傳輸工具,相當於類似於ftp之類的工具,但這玩意功能相當強大,值得了解下!很多黑客們都用這玩意!

winscp命令行批處理讀遠程服務器文件例子文章分類:操作系統

option echo off
option batch on
option confirm off
open scp://yourusername:yourpassword@yourip
get /opt/backup/gnome-libs-1.4.2.tar.bz2 d:\ui\gnome-libs-1.4.2.tar.bz2
close
exit

同步整個文件夾的方法synchronize:
option echo off
option batch on
option confirm off
open scp://yourusername:yourpassword@yourip
cd /opt/backup/
option transfer binary
option synchdelete off
synchronize local d:\ui
close
exit

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