今だけ人気マンガ100円レンタル特集♪

遠隔地にある支店のPCより、外部にある本社から
FTP等を使用して、インターネット網からのアクセスで
300GB程の大容量ファイルをダウンロードしたいと考えております。

前提として、設置しているルータの問題によりVPN接続は行えません。

上記の状態で最も効率の良い方法を教えて頂けないでしょうか?
ツール等必要であればその紹介も合わせてお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

ネットワーク環境が示されていないので一般論。



一般的なインターネット網から300ギガを転送するという条件であればFTPはあきらめて物理デバイスで輸送する方がお勧め。

大抵はは送信側でファイルを圧縮/分割して送信し、受信側で復元を行うことにより転送容量を少しでも少なくします。

この回答への補足

ご回答ありがとうございます。
また、説明が足りず申し訳ございません。

ネットワーク環境は本社、支店共に光回線になります。
またルータの設定変更は可能です。但しハードの交換は不可能です。

VPNが不可と書いたのは、現在中継地点のVPNサーバに本社-支店
双方より接続を行うVPNサービスを利用していますが、
どうも不安定で長時間接続しっぱなしにしていると切断されることがある為です。

上記の上で支店側ルータのFTPポートを開け、FTPツールにて
接続し、ダウンロードを行ったところエラーが発生し失敗してしまいました。

そこでまず根本的にファイル転送の方法からベストな方法を
知りたく、こちらに質問させて頂いた次第になります。

補足日時:2010/01/07 12:11
    • good
    • 0

修正頻度のすくない細かいファイルの総量が300Gというなら


rsync的な処理でもいいでしょう。
一発目はDATみたいなので移行した方がよいと思いますが
    • good
    • 0

詳細がわからないのでなんともいえませんが、データ転送が今回1回限りだとか、時々しか発生しないとかいうのであれば、USB接続の外付けHDDを用意して、コピーしたデータを宅配便で送ったほうが早いように思いますけどね。

あれこれ失敗している間に終わるでしょう。

300GBものデータ転送を常時必要とする、というのであれば、別途新規に専用の回線やサーバを用意するのがベターだと思います。

300GBのデータ転送って100Mbpsの回線だと理論値でも7時間近くかかります。実際にはいろいろロスが出るので最低でもこの倍は見ておく必要があるでしょう。

いろいろ考えて、「楽」な方法を選んでみてください
    • good
    • 0

HULFT を使ってはいかがでしょうか。


http://www.hulft.com/

300GBは単一のファイルですか?
多数の小さなファイルの集団であれば、FRS を使うのも良いと思います。
    • good
    • 0

まだ条件が足りません。



300ギガの転送が1回だけなのか、常時転送が必要なのでしょうか。
支店は1局なのか複数あるのでしょうか。
回線の契約はどのようになっているのでしょうか。

他の方も指摘されていますが、300ギガのファイル転送は実用上、相当なリソースを必要とします。
光回線であっても、インターネット網はベストエフォーなので帯域が保証されているわけでありません。
不安定なのは一般的に考えて300ギガ転送の帯域が確保されていない可能性が高いと思います。

基本的には先に示したとおり契約された帯域の中で安定してファイルを転送する環境を作成することです。
大まかに言えばファイルサイズを少しでも減らす、転送量を制限するといったことを考える必要があります。
    • good
    • 0

>上記の状態で最も効率の良い方法



結論としてFTPでやると決まっているのにそれ以上なにか
聞くことがあるのでしょうか?
FTPサーバーは本社側が勝手に用意するでしょうし、
クライアントは好きなものを使えばいいでしょう

ただ300Gのダウンロードの頻度にもよりますが、回線状況や回線契約によっては
実用に耐ええないかもしれません

またファイルシステムとして1ファイル300Gに対応できるかどうかは
OS側の問題になると思います
    • good
    • 1

(転送)効率で言えば本社にFTPサーバ立ててそこから落とす方法でしょう


ただ
>前提として、設置しているルータの問題によりVPN接続は行えません。
ってことはルータの設定などは変えられないってことですか?
それなら無理

どこかのストレージサービスなど経由してやり取りするしかありません
ただ300G扱えるストレージは無料では限られると思いますし(知らない)
企業で定期的に使うなら自前で外部ストレージ手配することを
お勧めします

本社内の回線は光以上にすることをお勧めします
(アップロード側は上り速度が早いに越したことは無い)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFTPサーバーへのアップロードのファイルサイズの上限は?

FTPサーバーへファイルをアップロードをするとき、1つのファイルサイズの上限はどれくらいなのでしょうか。
サーバーの設定によるのでしょうか?

Aベストアンサー

仰るとおりです 
例えばpro-ftpdというFTPサーバーを使用する場合
設定ファイルである proftpd.conf というファイルの
MaxStoreFileSize という項目にアップロード出来る最大サイズを設定しております

他にはクライアント側のタイムアウトと回線速度も関係しますね

QFTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?

タイトルどおりなのですが、FTPでファイルを転送する際に、サブフォルダを含むディレクトリごとファイル転送するコマンドはありますでしょうか。
ディレクトリの中にあるすべてのファイルを移動したいのですが、サブフォルダがたくさんあるので、わざわざディレクトリの場所へ移動してmputを繰り返すのはめんどうで仕方ありません。
よろしくお願いします。

Aベストアンサー

ご使用になるOS環境が書いてないのですが、Linux,BSD等ならncftpで、get -R dir。
Windowsならffftpを使えば良いと思います。

QFTPでタイムアウトになる

RedHatLinuxのサーバ間でFTP転送しようとしています。
例えばAとBとCというサーバがあったとします。
OSは全てRedHatLinuxでAとBは7.1、Cは7.3です。
FTPサーバは全てwu-ftpdです。
FTPコマンドで接続し、putで転送しようとしていて、BからAへの転送は正常にできます。
CからAに行おうとすると、接続は問題無いのですが、ファイル転送の際、数分後に「Connection Timed out」と出てしまい転送できません。
CからBに転送しようとしても同様のエラーでできませんでした。
ちなみにAとB及びCの間にファイアウォールが設定されていますが、BからもCからも通す設定にしていますし、
接続が正常にできるのでこれは問題ないと思うのです。BとCの間にはありません。
アクセス制限によるものかと思いましたが、特に制限していないですし、
一応ftphosts、tpusers、ftpgroupsやhosts.allow、hosts,denyファイルを確認してみたのですが、特に
これと思われるものがありませんでした。
転送するファイルのアクセス権限を色々いじってたので、これが原因かとも思いましたが、
BからAに転送したものと同様に変更してみましたが、ダメでした。
何が原因なのでしょうか。

RedHatLinuxのサーバ間でFTP転送しようとしています。
例えばAとBとCというサーバがあったとします。
OSは全てRedHatLinuxでAとBは7.1、Cは7.3です。
FTPサーバは全てwu-ftpdです。
FTPコマンドで接続し、putで転送しようとしていて、BからAへの転送は正常にできます。
CからAに行おうとすると、接続は問題無いのですが、ファイル転送の際、数分後に「Connection Timed out」と出てしまい転送できません。
CからBに転送しようとしても同様のエラーでできませんでした。
ちなみにAとB及びCの間にファイアウ...続きを読む

Aベストアンサー

#5お礼より
>>PASVをオンにしたらではないでしょうか?
>いえ、やっぱりオフにすると転送できます。
>
そうでしたか。それは失礼しました。
iptablesの設定内容がわからないので、たぶんinは不許可にしているとふんだのですが...^ ^;;

ということで、#6の方もiptablesについて回答されていますが
まずはiptabelsの設定について確認されるといいでしょう。
ipchainsとの比較も含めて以下が参考になると思います。
http://tlec.linux.or.jp/docs/iptables.html


iptables設定については以下のものもいいでしょう。
http://www.atmarkit.co.jp/flinux/rensai/security05/security05a.html


実際に"ip_conntrack_ftp"(NATを使わないならこれだけでOK)を使って
接続の追跡(ステートフルインスペクションなんかと言われます)を行うなら、以下の設定を。
http://www.sns.ias.edu/~jns/security/iptables/iptables_conntrack.html#FTP

参考URL:http://tlec.linux.or.jp/docs/iptables.html

#5お礼より
>>PASVをオンにしたらではないでしょうか?
>いえ、やっぱりオフにすると転送できます。
>
そうでしたか。それは失礼しました。
iptablesの設定内容がわからないので、たぶんinは不許可にしているとふんだのですが...^ ^;;

ということで、#6の方もiptablesについて回答されていますが
まずはiptabelsの設定について確認されるといいでしょう。
ipchainsとの比較も含めて以下が参考になると思います。
http://tlec.linux.or.jp/docs/iptables.html


iptables設定については以下のものも...続きを読む

QシェルスクリプトでFTPの実行結果を取得するには

OS redhat linux
シェル bornシェル

でftpを実行するスクリプトを作っていますが、
ftpの実行結果は取得できるのでしょうか?

ftp -n < ftpCom.txt

宜しくお願いします。

Aベストアンサー

No.1です。補足拝見しました。

直接ftpコマンドの戻り値では実行結果が判断できないので、私が以前に携わっていたプロジェクトでは、FTPサーバが出すエラーコードをgrepでハンドリングしていました。

FTPはコマンドの結果を「行頭に3桁の数字」で出力する仕様になっており、putもgetも送受信が成功した場合は226が出力されるので、

ftp -nv < ftpCom.txt > ftpLog.txt 2>&1

を例えにとると、このコマンドを実行した後に、
grep ^226 ftpLog.txt > /dev/null
if $? ne 0
then
echo "FTPでエラーが発生しました" >> logfile
exit 1
fi

みたいなことをしていました。grep の引数 ^226 は行頭が226から始まる行を検索、という意味で、grepでマッチする行があった場合は0が戻り値となり、マッチしなければ0以外が戻り値となるので、それを利用していました。

実際の運用では、処理が異常終了したときにlogfileを見て、FTPのエラーだったらさらにftpLog.txtを見る、みたいな感じでした。

なお、FTPサーバが返すコードについては下記RFCの4.2辺りを参照してください。もっとも、サーバによってこれら全てが実装されてるとは限りませんが。

http://hp.vector.co.jp/authors/VA002682/rfc959j.htm

No.1です。補足拝見しました。

直接ftpコマンドの戻り値では実行結果が判断できないので、私が以前に携わっていたプロジェクトでは、FTPサーバが出すエラーコードをgrepでハンドリングしていました。

FTPはコマンドの結果を「行頭に3桁の数字」で出力する仕様になっており、putもgetも送受信が成功した場合は226が出力されるので、

ftp -nv < ftpCom.txt > ftpLog.txt 2>&1

を例えにとると、このコマンドを実行した後に、
grep ^226 ftpLog.txt > /dev/null
if $? ne 0
then
echo "FTPでエラー...続きを読む

Q大容量のファイルを転送できるftpソフト

3GB以上の大容量のファイルを転送できるftpソフトって何かありませんか?

Aベストアンサー

put の場合は基本的に一つのファイルしか転送できません.
面倒な時は
mput を使いますが,ファイルが変わるたびにyes or no を聞いてくるのでファイル数が多い場合はかなり面倒です.
一度に転送したい時は tar で一つのファイルに固めるとか zip, lzh で圧縮したりすれば問題ありません.

Qfindでフォルダだけを検索

find / -name "apache*"
これを、フォルダだけヒットするような文にするとどうなりますか?

Aベストアンサー

がると申します。

find / -name "apache*" -type d
でいかがでしょうか?

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

QFTPで書き込み中のファイルの完了を知りたい

FTPで書き込み中のファイルがあるとします。そのファイルが、書き込み中なのか、それとも、書き込みが完了したのかを、知りたいのですが、良い方法はありますでしょうか。書き込みファイル名はあらかじめ、わかっています。(書き込み中に読んだ場合、最後まで読み切ることが出来ないために書き込み完了迄待ちます)当方で、調査した限りでは、ファイル名を指定して、そのファイルが、他プロセスによってオープンされているか否かを知るシステムコールは存在しませんでした。OSは、sun solaris10を使用の予定ですが、UNIX系(linux含む)で実現可能であれば、かまいません。

Aベストアンサー

一般のUnix系のOSで、fopen() でチェックできるかどうかは疑問です^^

たしかに、Unix系のOSで、ファイルをオープンしているプロセスがあるかどうかを調べられるような標準的なシステムコールがあるという話は、あまり聞かないですよね。

http://www.mlb.co.jp/linux/mld-ml/200206/msg00028.html ←存在しないのがほんとに真実かどうかは知りませんが^^

ftp の際、get してくるファイルのサイズ情報をどこかに出力しておいて、そのサイズに達したか否かで、「書き込み中か、書き込み完了か」を判定するのがもっともポータブルな方法かと^^

※ 最初に lseek などして、見掛けのサイズを大きくしておいてから rewind して実際に書き込みを始めるみたいなことしてる ftp の実装なんてあるとまずいですけど^^;

QFTPの接続継続時間について

サーバへのFTP接続継続時間についての質問です。
症状は、FTPソフトを操作しないまま1~2分放っておくと接続が切れてしまう、というものです。
FTPソフトは「FFFTP Ver 1.89a」を使用しています。
サーバは社内に設置されたローカルサーバで、「Red Hat Linux 7.3」を使用しています。
Telnetは切れないように設定してもらったので一切切断されないのですが、FTPについては管理者もただ首を傾げるばかりで、サーバの設定なのかFTPソフトの設定なのかも見当もつきません。
もし、FTPの接続継続時間について設定がお分かりの方おられましたら、ぜひともご教授ください。
よろしくお願い致します。

Aベストアンサー

ちなみにxinetdにコネクションを切断する機能はありません。

というわけでだいたい見当がついてきました。
おそらくproftpdのバイナリ作成時にデータ転送後のタイムアウト秒数が指定されていると思われます。
(TCP/IPソケットプログラムの世界に踏み込んでしまいました。)

というわけでproftpdのホームページより、ソースをダウンロードしてコンパイル時のオプションを調べてみました。
ftp://ftp.infoscience.co.jp/pub/proftpd/distrib/source

# tar xvzf proftpd.1.2.7rc2.tar.gz
# cd proftpd-1.2.7rc2
# ./configure --help | less

とやると、見つけました。

--enable-timeout-linger
    set the default timeout (in secs) for
    lingering closes (default=180)

TCP/IPソケットのデータ転送後コネクションを切断する時間(標準で180秒=約3分)がコンパイル時に指定されていると考えられます。

# ./configure --enable-timeout-linger=秒数
または
# ./configure --disable-timeout-linger

のあと

# make ; make install

と実行すると

/usr/local/sbin/proftpd
/usr/local/sbin/in.proftpd
/usr/local/etc/proftpd.conf

がインストールされます。

#2の補足を拝見すると
server = /usr/local/sbin/in.proftpd
と指定されているので、redhat標準のproftpdではなくソースからコンパイルされてるようですね。

一度上記のオプションを指定して再コンパイルしてみてはいかがでしょうか?

参考URL:http://www03.u-page.so-net.ne.jp/da2/h-takaha/internal24/node261.html

ちなみにxinetdにコネクションを切断する機能はありません。

というわけでだいたい見当がついてきました。
おそらくproftpdのバイナリ作成時にデータ転送後のタイムアウト秒数が指定されていると思われます。
(TCP/IPソケットプログラムの世界に踏み込んでしまいました。)

というわけでproftpdのホームページより、ソースをダウンロードしてコンパイル時のオプションを調べてみました。
ftp://ftp.infoscience.co.jp/pub/proftpd/distrib/source

# tar xvzf proftpd.1.2.7rc2.tar.gz
# cd proftpd...続きを読む

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。


人気Q&Aランキング