LinuxのftpコマンドでディレクトリをFTP転送することはできません。 転送したいファイルをあらかじめzip化したファイルを作成して転送する方法を記載します。 転送元サーバホスト名: dcf-web 転送元サーバOS: RHEL6.4 (64-bit) 転送元ディレクトリ: /tmp/ftp/ 転送対象ファイル: fonts.zip sound.zip 転送先サーバホスト名: dcf-bak 転送先サーバIP: 192.168.47.50 転送先サーバOS: RHEL6.4 (64-bit) 転送先ディレクトリ: /backup/ftp/dcf-web/ OS: RedHat EL 6.4(64-bit) vsFTPd: 2.2.2
■転送先サーバでFTPプロセスが起動していること
[root@dcf-bak ~]# /etc/init.d/vsftpd status vsftpd (pid 19316) を実行中... [root@dcf-bak ~]#※送信元サーバのvsftpdプロセスは停止していてもOK。
■転送元ディレクトリ確認
※転送対象ディレクトリに /etc/fonts/ と /etc/sound/ を選んだ理由は特になし。[root@dcf-web ~]# ll -d /etc/fonts/ /etc/sound/ drwxr-xr-x. 4 root root 4096 5月 29 06:25 2013 /etc/fonts/ drwxr-xr-x. 3 root root 4096 5月 29 06:27 2013 /etc/sound/ [root@dcf-web ~]#
■FTP転送用データ準備
転送対象ディレクトリをzipコマンドでアーカイブファイルを作成。[root@dcf-web ~]# mkdir /tmp/ftp [root@dcf-web ~]# zip -r /tmp/ftp/fonts.zip /etc/fonts/ adding: etc/fonts/ (stored 0%) adding: etc/fonts/fonts.dtd (deflated 70%) adding: etc/fonts/conf.avail/ (stored 0%) adding: etc/fonts/conf.avail/10-sub-pixel-rgb.conf (deflated 27%) (省略) [root@dcf-web ~]# zip -r /tmp/ftp/sound.zip /etc/sound/ adding: etc/sound/ (stored 0%) adding: etc/sound/events/ (stored 0%) adding: etc/sound/events/gtk-events-2.soundlist (deflated 60%) adding: etc/sound/events/gnome-2.soundlist (deflated 69%) [root@dcf-web ~]# [root@dcf-web ~]# ll /tmp/ftp/ 合計 76 -rw-r--r-- 1 root root 53699 3月 18 15:49 2014 fonts.zip -rw-r--r-- 1 root root 16499 3月 18 15:49 2014 sound.zip [root@dcf-web ~]#
■ftpコマンド(解説付き)
[root@dcf-web ~]# ftp -ivn 192.168.47.50 Connected to 192.168.47.50 (192.168.47.50). 220 (vsFTPd 2.2.2)
オプション -i: 複数のファイルの転送中にプロンプトを出さないようにする。 -v: リモートサーバからの全てのレスポンスを詳細表示する。 -n: 自動ログインさせない。ログインにアカウントとパスワードを要求する。
ftp> user ftpuser secret 331 Please specify the password. 230 Login successful.
アカウント: ftpuser パスワード: secret
ftp> lcd /tmp/ftp/ Local directory now /tmp/ftp転送元サーバのディレクトリを移動。
ftp> cd /backup/ftp/dcf-web/ 250 Directory successfully changed.転送先サーバのディレクトリを移動。
ftp> bin 200 Switching to Binary mode.バイナリモードに変更。
ftp> mput *.zip local: fonts.zip remote: fonts.zip 227 Entering Passive Mode (192,168,47,50,28,169). 150 Ok to send data. 226 Transfer complete. 53699 bytes sent in 0.000782 secs (68668.80 Kbytes/sec) local: sound.zip remote: sound.zip 227 Entering Passive Mode (192,168,47,50,254,125). 150 Ok to send data. 226 Transfer complete. 16499 bytes sent in 3.1e-05 secs (532225.82 Kbytes/sec)zipファイルを転送
ftp> ls 227 Entering Passive Mode (192,168,47,50,104,238). 150 Here comes the directory listing. -rw-r--r-- 1 1120 1100 53699 Mar 18 06:57 fonts.zip -rw-r--r-- 1 1120 1100 16499 Mar 18 06:57 sound.zip 226 Directory send OK.転送先のファイルリストを表示。
ftp> quit 221 Goodbye. [root@dcf-web ~]#FTPモード終了。
■転送先サーバでの確認
[root@dcf-bak ~]# ll /backup/ftp/dcf-web/ 合計 76 -rw-r--r-- 1 ftpuser sshgrp 53699 3月 18 15:57 2014 fonts.zip -rw-r--r-- 1 ftpuser sshgrp 16499 3月 18 15:57 2014 sound.zip [root@dcf-bak ~]#
■転送先サーバで解凍してみる
解凍先ディレクトリに /root/work/ftp/ を指定。[root@dcf-bak ~]# unzip /backup/ftp/dcf-web/fonts.zip -d /root/work/ftp/ Archive: /backup/ftp/dcf-web/fonts.zip creating: /root/work/ftp/etc/fonts/ inflating: /root/work/ftp/etc/fonts/fonts.dtd creating: /root/work/ftp/etc/fonts/conf.avail/ inflating: /root/work/ftp/etc/fonts/conf.avail/10-sub-pixel-rgb.conf (省略) [root@dcf-bak ~]# unzip /backup/ftp/dcf-web/sound.zip -d /root/work/ftp/ Archive: /backup/ftp/dcf-web/sound.zip creating: /root/work/ftp/etc/sound/ creating: /root/work/ftp/etc/sound/events/ inflating: /root/work/ftp/etc/sound/events/gtk-events-2.soundlist inflating: /root/work/ftp/etc/sound/events/gnome-2.soundlist [root@dcf-bak ~]# [root@dcf-bak ~]# ll /root/work/ftp/etc/ 合計 8 drwxr-xr-x 4 root root 4096 5月 29 06:25 2013 fonts drwxr-xr-x 3 root root 4096 5月 29 06:27 2013 sound [root@dcf-bak ~]#転送元サーバと同じタイムスタンプのディレクトリが作成された。
■FTP転送シェルスクリプト
#!/bin/sh # 複数ファイルをFTP転送するシェルスクリプト # 転送対象ファイルはあらかじめzip化し、*.zipとすること # 転送元: LOCAL # 転送先: REMOTE LOCAL_DIR="/tmp/ftp" REMOTE_HOST="192.168.47.50" REMOTE_USER="ftpuser" REMOTE_PASS="secret" REMOTE_DIR="/backup/ftp/dcf-web" LOG="ftp.log" ftp -ivn ${REMOTE_HOST} << END > ${LOG} user ${REMOTE_USER} ${REMOTE_PASS} lcd ${LOCAL_DIR} cd ${REMOTE_DIR} bin mput *.zip quit END exit 0
■FTP転送実行とログ確認
[root@dcf-web work]# ./ftp.sh [root@dcf-web work]# cat ftp.log Connected to 192.168.47.50 (192.168.47.50). 220 (vsFTPd 2.2.2) 331 Please specify the password. 230 Login successful. Local directory now /tmp/ftp 250 Directory successfully changed. 200 Switching to Binary mode. local: fonts.zip remote: fonts.zip 227 Entering Passive Mode (192,168,47,50,175,113). 150 Ok to send data. 226 Transfer complete. 53699 bytes sent in 0.0005 secs (107397.99 Kbytes/sec) local: sound.zip remote: sound.zip 227 Entering Passive Mode (192,168,47,50,171,39). 150 Ok to send data. 226 Transfer complete. 16499 bytes sent in 3.5e-05 secs (471400.00 Kbytes/sec) 221 Goodbye. [root@dcf-web work]#※転送先に同名ファイルが存在すると上書きする。
こちらの情報が何かのお役に立てましたら幸いです。サイト継続のご協力ありがとうございます。m(_ _)m
0 件のコメント:
コメントを投稿