社内 LAN などイントラネットに閉じた環境では、サーバへのファイル転送に FTP を使うこともしばしばあります。
もちろん、作業効率を考えてシェルターミナルから ftp コマンドを使うのではなく、GUI のアプリケーションで作業を行います。
FTPはまだまだ現役
FTP のアプリは 10 年以上前から FFFTP がお気に入りというか、これ以外のツールはあまり使用したことがありません。
レンタルサーバを卒業してからは、もっぱら scp(WinSCPかターミナル)を稀に使うくらいですが。
しかし環境によっては、FFFTP でサーバに接続したまま放置するとセッションが切れてしまうことがあります。
タイムアウト設定
そこで、シェルのターミナルや ssh クライアントツールのように、ネットワーク間の接続を維持する設定がないか調べてみたところ、メニューバーの[オプション]→[環境設定]→[転送2]の中にネットワークタイムアウトの設定がありました。
ここを 0 にすればタイムアウトしなくなります。
しかし、これではタイムアウトの問題しか解決せず、セッションの維持はしてくれないことが判明。
結果的には、FFFTP のホストの設定の特殊機能タグにある「接続維持用コマンド周期」を設定することで実現できるようになります。
試しに 30 秒くらいに設定しておけばいいでしょう。
この手の設定は、ネットワークを介するほとんどのツールに存在しますが、ツールによって設定項目の表記がバラバラなのでピンとこない場合もありそうです。
今回のように「ネットワークタイムアウト」や「nullパケットを送る」「KeepAliveパケットを送る」「ダミーパケットを送る」などさまざまです。