FileZillaで「ターゲットファイルは既に存在しています」と出てしまう時の対処法

ブログやホームページの運営に欠かせないFTPソフト。
中でもFileZillaは視覚的にも分かりやすくて一番人気です。
私も愛用しています。

ところが、ある日、WordPressを指定したバージョンにダウングレードしたくてFileZillaを使ってwp-adminを転送していたら、やたらと「ターゲットファイルは既に存在しています」というポップアップウインドウが出るではありませんか。

FileZilla-error

これ、上書き更新している時なら迷わず上書きを指定するだけですが、今回はターゲットのフォルダを丸ごと消してからアップロードしたのでファイルがある訳無いのです。

謎の現象です。
どうしても納得が行かなかったので、徹底的に調べました。
専門的な話も出てきますが、対処方法は下で説明していますので、読んでみて下さい!

どういう時に起きるのか

まずは、もう一度やってみて起きるのか? 他のファイルでも起きるのか? を調べてみました。

すると、

・WordPressのwp-adminなら、何度やっても起きる。(再現性あり!)
・別のファイルで試すと、起きたり起きなかったりする。

こんな結果に・・・。

最初は、media-widgets.jsなどのJavaScriptファイルでばかり起きるので、サーバが攻撃を受けていると勘違いして拒否しているのかと思ったのですが、何回かやってみるとcssファイルでも起きました。
特定のファイルで起きるというわけでも無いようです。

また、送るファイルが少ないと、全く事象は起きませんでした。

今回のWordPressのように、ある程度のまとまった複数ファイルを一気に転送しようとした時に起きるようです。

どれくらいの量のファイルから起きるのかを調べてみた所、全部のファイル転送に1分以上かかる時に起きるようでした。

ということは何かタイマーのようなものが効いている?

他のFTPソフトでは起きるのか

FileZillaで駄目なら、FTPのアプリケーションはまだまだありますので、他のFTPソフトを試してみました。

その結果はこうなりました。

WinSCPでは起きない
・ffftpでは似た現象が起きた

という訳で、原因分からなくてもいいや! って人は、ここでWinSCPに変えちゃっても良いと思います(笑)。

その証拠に、私は今、FileZillaをやめて、WinSCPを使っちゃってます。
WinSCPは、FileZillaと比べると機能が多くて、初心者は戸惑うかも知れませんが、分からない機能は使わなければ良いだけで、意外と画面もシンプルで良かったです。

あとはFileZillaで設定してあったサーバ情報を自動で取り込んでくれる機能が付いていて、至れり尽くせりといった感じです。オススメですね。

一方のffftpですが、サーバから切断されましたという謎のメッセージを残しつつ、何とか最後までやりきりました。
ただ、途中で確認のポップアップウインドウが出る時もありました。

ffftpとFileZillaは目に見える事象が違うだけで、根本原因は同じと考えられます。

原因はタイムアウトか

原因を調べるために、ffftpとFileZillaのログを調べてみました。

すると

「エラー: サーバーから切断されました: ECONNABORTED – 接続が閉じられました」

こんなメッセージが出たタイミングで、一連の上書きを確認するポップアップメッセージが表示されることが分かりました。

発生の理由はこうです。

・media-widgets.jsのファイルノードを作成した(サイズ0で)

・ECONNABORTEDが発生してサーバとの切断が切れた

・FTPソフトが再接続を試みる

・無事、再接続される

・media-widgets.jsを、もう一度転送しようとする

・media-widgets.jsが既に存在する

・上書きの確認ポップアップが出る

こういう事です。

ECONNABORTEDというサーバからの切断がFTPで発生する原因の1つにタイムアウトがあります。

タイムアウトの理由については、以下のサイトの説明を参考にしました。

FileZillaの「サーバーから切断されました」 – 周り-家 – 2021

wordpress

Posted by fujimori