XSERVER PC・728 x 90 wordpress

[WordPress]FTPで大量のファイルのダウンロード/アップロードに失敗するときはSFTPを使ってみる

シェアしていただけるとうれしいです

FTPで大量のファイルのダウンロード/アップロードに失敗する

大量の牛追い

WordPressのファイルをバックアップしたり、別のサーバーに引っ越しをするときなどに、大量のファイルをサーバーからダウンロードしたり、アップロードをすることがあります。

ファイルのダウンロード/アップロードをするときは、FTPのクライアントソフトを使って行うことが多いです。しかし、大量のファイルをダウンロード/アップロードする際に、どうしても途中で止まってしまったり、サーバーから切断されてしまうことが多々あります。

ファイルを小分けにしてみたり、サブディレクトリごとにしてみたりしても、失敗してしまうことがあります。

そんな時は、FTPのクライアントソフトではなく、SFTPのクライアントソフトを使うとうまくいくことが多いです。

SFTPって、なに?

インターネット(に限らずだけど)でファイルを転送する方法には、おおまかに言って、下記の方法があります。

  • HTTP
  • FTP
  • FTPS
  • SFTP

HTTP

HTTPはHyper Text Transfer Protocolの略で、主にWebページの転送に使います。Webサーバーとブラウザの間ではHTTPが使われています。

レンタルサーバーの管理ページで「ファイルマネージャ」などという名前でファイルをダウンロードしたりアップロードする仕組みがあったりしますが、それも通信はHTTPが使われています。

通信内容を暗号化したものはHTTPSと言われます。

FTP

ホスト間(コンピューター間)でファイルを転送するための仕組みです。最も一般的な方法で、転送速度も一番早いです(たぶん)。ただ、難点があって、通信内容が暗号化されません。認証を行うときのユーザー名、パスワードも暗号化されないので、悪意を持った第三者に傍受されると、サーバーが乗っ取られる恐れがあります。

FTPS

FTPの通信内容が暗号化されていないため、HTTPSと同じようにSSL/TLSという暗号化の仕組みを使って、通信内容が第三者に漏れないようにしたものです。たいていのFTPクライアントはFTPSに対応しています。

レンタルサーバーがFTPSに対応しているなら、FTPSを使ったほうがいいです。ソフトのオプションか、通信の設定のところでFTPSを使うようにできると思います。

SFTP

SFTPSSH File Transfer Protocolの略で、SSHというものを使ってファイルを転送する仕組みです。

SSHはもともと、リモートのサーバーなどにログインして操作するためのものですが、SSHプロトコルは、いわば「専用トンネル」を作って、その中に通信を流すようなこともできます。様々な通信を流せるので、FTPの通信をSSHのトンネルの中に流してしまおう、というものです。

どれも一長一短がある

HTTPプロトコルは、元々Webページを転送するように考えられたもので、通信の手続きがFTPよりも手間がかかるので、通信速度が若干遅くなります。

FTPが今のところ通信速度が一番早いですが、先程も申し上げたとおり、暗号化されていないため通信内容を傍受される可能性があります。

FTPSは、FTPを暗号化するため、暗号化・復号化の手間がかかるために、FTPよりも若干転送速度が落ちますが、安全性重視なので、FTPを使うなら、FTPSを選択したほうが懸命です。

SFTPは、SFTPを許可するということはSSHでのログインも許可するということなので、サーバーの中が丸見えになってしまいます。とはいえ、適切な処置を施しておけば、他人のファイルが見えちゃった、とか、サーバー本体の設定ファイルを書き換えちゃった、なんてことはありません。
レンタルサーバーによってはSFTP/SSHでの接続を許可していないところもありますので、そういうレンタルサーバーでは残念ながら使えません。

なぜFTPで失敗するのにSFTPならうまくいくのか

FTPのクライアントソフトの設定をあれこれ調べたり、設定を変えてみたりしたのですが、毎回、大量のファイルを転送すると、必ずと言っていいほど失敗します。ネットで調べたりしても解決方法はわかりませんでした。

SFTPのソフトを使うと、大量のファイルを転送しても、ほぼ毎回成功します。逆になぜSFTPならうまくいくのかもよくわかりません。

ネットワーク屋さんに聞いておきます。

WinSCPを使ってみる

以前にもSFTPのソフトを紹介したことが実はありました。

SFTP Net DriveはWindowsのExplorerに統合されていて、Sドライブなどのネットワークドライブとして使えるので、めちゃくちゃ便利でした。

ただ、環境によっては、接続しっぱなしにすると不安定になったり、切断されて再接続しに行くようなこともありました。

ネットワークドライブとして使うならSFTP Net Driveが便利ですが、たまにWordPressのバックアップを取るくらいなら、別のソフトを使いましょう。

ざっと見たところですが、通常のFTPのクライアントソフトでSFTPで接続できるソフトはありませんでした。NextFTP、FFFTPはダメでした。

SFTP接続で広く使われているソフトにWinSCPというものがありますので、こちらを使ってみましょう。

WinSCPのインストール

窓の杜のこちらのページからダウンロードできます。
参考URLWinSCP(窓の杜)

ダウンロードしたファイルをダブルクリックして、セットアップします。

「インストールで使用する言語」に日本語が選ばれているのを確認して「OK」をクリックします。
WinSCP

「次へ」をクリックします。
WinSCP

「許諾」をクリックします。
WinSCP

「標準的なインストール」を選んで、「次へ」をクリックします。
WinSCP

設定は後で変えられるので、そのまま「次へ」をクリックします。
WinSCP

「インストール」をクリックします。
WinSCP

セットアップが始まります。
WinSCP

「完了」をクリックします。
WinSCP

セットアップは以上です。お疲れ様でした。

WinSCPの設定

WinSCPを起動すると、下記の画面が開きます。
ホスト名、ユーザー名、パスワードにレンタルサーバーから指示されたものを入力します。ポート番号は22番でOKです。
「保存」をクリックします。
WinSCP

「セッションの保存名」はわかりやすいものを入力してください。
「フォルダ」はとりあえず「なし」でいいです。
「推奨されません」と書いてありますが、自分だけが使うPCであれば「パスワードを保存」にチェックを入れましょう。
「OK」をクリックします。
WinSCP

元の画面に戻りますので、「ログイン」をクリックします。
WinSCP

最初の接続の時だけこのようなメッセージが出ます。「はい」をクリックします。
WinSCP

設定があっていれば、ログインできて、サーバーにあるディレクトリの一覧が右側に表示されます。
WinSCP

便利な設定

このままでもいいのですが、ちょっと便利な設定をしましょう。

ログインした時に、いつもファイルをダウンロードしているPC側のファルダが指定されるようにし、サーバー側はブログのディレクトリが自動で開くようにします。

一旦切断して、ログインの画面に戻ります。「編集」をクリックします。
WinSCP

「設定」をクリックします。
WinSCP

左側のメニューから「環境」→「ディレクトリ」を選びます。
「ローカルとリモートのディレクトリ移動を同期する」にチェックを入れます。
「最後に使用したディレクトリを記憶する」のチェックを外します。
「リモートディレクトリ」には、先ほど接続した時のサーバーのディレクトリが表示されていると思いますので、後ろにブログのディレクトリ名を追記します。ぼくの場合は「/maro.sakanoueno.me」を追加しました。
「ローカルディレクトリ」にはパソコン側の作業をするフォルダを指定します。ぼくの場合は「C:\Workspace\まろろぐ」です。入力欄の「…」をクリックするとフォルダを選択できます。
「OK」をクリックすると設定内容が保存されます。
WinSCP

「保存」をクリックします。
WinSCP

「ログイン」をクリックします。
WinSCP

ログインに成功すると、先ほど設定したディレクトリが開いているはずです。
WinSCP

実際に大量のファイルをダウンロードしてみる

FTPのクライアントソフトでは失敗する大量のファイルのダウンロードにチャレンジしてみます。
ブログに関係するファイルとディレクトリを全部選択して「ダウンロード」をクリックします。
WinSCP

順調にダウンロードが進み、30分ほどでダウンロードが完了しました。
PC側のすべてのファイルサイズは、536MBでした。

インターネットの接続環境は、光の100Mbps、PCはWi-Fi接続で接続速度は150Mbps、こちらの古いVAIO X(Windows 10)です。

VAIO XにWindows 10をインストールしてみた
VAIO XにWindows 10をインストールしてみた
Windows 10って使ってみました?iPhone 6sが発売されて浮かれているみなさん、もうWindows 10は試され...

インターネットの接続環境や、レンタルサーバーのスペック、PCのスペックによってダウンロードの時間は左右されます。また、ダウンロードよりもアップロードのほうが時間がかかります。

使える環境ならSFTPを選択しよう

FTPでの大量のファイルのダウンロード/アップロードに失敗する理由は分からないにしても、SFTPなら安定してダウンロード/アップロードできます。レンタルサーバーによって使える・使えないがあるのですが、使えるのであればSFTPを選択しない理由はありません。

では、楽しいブログライフを。

追記

2016年4月9日 追記

XSERVERにSFTP接続する方法をこちらに記載しました。

WindowsからXSERVERにSFTPで接続する方法
WindowsからXSERVERにSFTPで接続する方法
SFTPって?サーバーにファイルをアップロードしたり、サーバーからファイルをダウンロードするために「FTP」という仕組みをよく使いま...
WEBのシステムを作ったり保守したりするSE/プログラマというものをしています。
ブログやってますがブロガーではありません。週末WEB随筆家です。
まろと呼んでください。
広告:XSERVER:350 x 160
スポンサーリンク

シェアしていただけるとうれしいです

フォローしていただけるとうれしいです