2010年11月13日土曜日

コマンドプロンプトでFTP

■FTPサーバ(Linux)に接続
c:\Temp>ftp 192.168.1.12
192.168.1.12 に接続しました。
220 (vsFTPd 2.0.5)
ユーザー (192.168.1.12:(none)): public
331 Please specify the password.
パスワード:
230 Login successful.

■対象ディレクトリに移動
ftp> cd /tmp/ftp
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
sample_data
226 Directory send OK.
ftp: 13 バイトが受信されました 0.00秒 13.00KB/秒。

■PCのディレクトリ移動
ftp> lcd put_data
ローカル ディレクトリは現在 c:\Temp\put_data です。

■バイナリーモードに変更
ftp> bin
200 Switching to Binary mode.

■確認時自動的にyesを選択させる
ftp> prompt
対話モード オフ。

■複数ファイルをアップロード
ftp> mput *
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
ftp: 169506 バイトが送信されました 0.01秒 33901.20KB/秒。
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
ftp: 183785 バイトが送信されました 0.01秒 36757.00KB/秒。
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
ftp: 160099 バイトが送信されました 0.01秒 17788.78KB/秒。

■ファイルリストを表示
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
P1000713.JPG
P1000787.JPG
P1000952.JPG
sample_data
226 Directory send OK.
ftp: 55 バイトが受信されました 0.00秒 55.00KB/秒。

■サーバのディレクトリ移動
ftp> lcd ../get_data
ローカル ディレクトリは現在 c:\Temp\get_data です。

■サーバよりディレクトリごとダウンロード
ftp> mget sample_data
200 Switching to Binary mode.
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for sample_data/005.jpg (84702 bytes).
226 File send OK.
ftp: 84702 バイトが受信されました 0.01秒 8470.20KB/秒。
(中略)
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for sample_data/029.jpg (83463 bytes).
226 File send OK.
ftp: 83463 バイトが受信されました 0.01秒 11923.29KB/秒。

■切断
ftp> bye
221 Goodbye.

c:\Temp>

2010年11月12日金曜日

LinuxのシェルスクリプトでFTPする方法


LinuxのコマンドでFTPすることはもちろん可能ですが、
細かい内容はすぐ忘れてしまうのでシェルスクリプトにまとめてみました。

OS: CetnOS 5.7


■FTP用シェルスクリプトサンプル

#!/bin/sh

LOG="./log_ftp.log"
TARGET_HOST="192.168.216.232"
TARGET_USER="root"
TARGET_PASS="password"
TARGET_DIR="/tmp"
PUTDATA="putdata.txt"
GETDATA="getdata.txt"

uptime > $LOG

ftp -i -v -n $TARGET_HOST << END >> $LOG
user $TARGET_USER $TARGET_PASS
cd $TARGET_DIR
bin
# put $PUTDATA
# get $GETDATA
quit
END

uptime >> $LOG

exit 0

この情報が何かのお役にたてれば幸いです。m(_ _)m