Windows コマンドプロンプトでLinuxサーバーにファイルをアップロード(sftp使用) |
作成したデータをLinuxのWebサーバーに自動的にアップロードしたい。
Linux側でftpサーバーを起動していれば、ftpコマンドでアップロード
できるのですが、面倒なのでsshしかサービスを起動してません・・・
sftpを使えばよさそうなのですが、Windows標準コマンドでは用意されていない(多分)
WinSCPを使えばGUIで簡単にファイルをアップロードできるのですが、
http://www.tab2.jp/~winscp/
※普段お世話になってます。
今回は、自動処理したいのでバッチファイルにアップロードの処理を仕込みたい。
WinSCPをコマンドで操作する方法はどうやらなさそう。
いろいろ調べた結果、Puttyに含まれているexeが使えそうです。
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
こちらから、「psftp.exe」をダウンロード。
コマンドの簡単な使い方はこんな感じ。
psftp [ログインユーザー]@[サーバー名] -pw [パスワード] -b [実行したいコマンドを書いたテキスト]
実際に使っている内容
バッチファイル
psftp root@192.168.1.1 -pw password -b upload.txt
upload.txtの内容
cd /var/www/public
put list.html
quit
これでWindowsのタスクに登録したバッチでデータの作成から
サーバーへのアップロードまで一括で行なえるようになりました。