概要
WinSCPで、勝手にリモートのファイルが消えてしまうことがあるため、暫定の対策をした。原因は今のところ分かっていない。
状況
環境
- Windows10 PC
- WinSCP 5.19.6 (現象自体はこのバージョンよりも前から起きていると思われる)
- 既定のエディタ: Visual Studio Code
- LinuxシステムにSFTPで接続し、ファイルを編集
現象
- WinSCP上でVisual Studio Codeを開いていると、いつの間にか当該ファイルがリモート側から削除されている
- WinSCPには、ファイル削除時に確認ダイアログが出るオプションがあり、有効にしているにもかかわらず、確認なしに削除されている
- VSCode上では、削除されたファイルは閉じられることなくそのまま表示されている。すぐにそのまま保存すれば問題ないだろうが、保存できず
- 頻度としては、1日使っていると起こるかな?という感じ。神出鬼没なので、実験して原因を追い込もうにもなかなかうまくいかない。
↓WinSCPの環境設定
原因の推測
今のところ不明だが、気になる部分を列挙。
- VSCodeとの組み合わせの問題か? → VSCode以外のエディタにしてみたらどうか、確認したい
- なんとなく、WinSCPの画面リフレッシュのタイミングで消えているような感じがする。リフレッシュは、自分で行っていないので、WinSCPが自動的に何かのタイミングで行っている???
対策
今のところ原因がわからないが、このままでは怖くて使えないため、対策としてWinSCPのゴミ箱機能を使うことにした。 ファイルが削除されるときに、ゴミ箱に退避してくれるものだ。 各セッションの設定で、高度なセッションの設定画面を出し、環境>ゴミ箱から、任意の設定を行う。リモートの普段触ることがないディレクトリを指定しておく。
この状態で、問題の現象が起きファイルは削除されてしまったが、ゴミ箱に残ってくれた。なので、最悪の状況はどうにか回避できそう。
しかし、原因はつかみづらく、しばらく格闘が必要な気がする。 そもそも、VSCodeを使っている時点で、FTPツールは卒業すべきかもなあ。