GNU/Linux >> Linux の 問題 >  >> Linux

LINUX:ftp ファイルのアップロードが完了したことを検出する方法

inotify、イベント コード IN_CLOSE_WRITE を使用してみます。


Apache "Mina" ftp サーバー (Java) は、こちらで説明されているように、失敗したアップロードの検出など、必要なことを実行できる可能性があります

引用:

<ブロック引用>

Ftplet.afterCommand から、応答を見ることができるはずです。 FtpServer が検出できる (SocketException または IOException を引き起こす) 失敗した転送の場合、これは 426 または 551 のような値になります。

応答コードを含む ftplet の概要はこちら

afterCommand メソッドの署名:

FtpletResult afterCommand(FtpSession session, FtpRequest request, FtpReply reply)

reply.getCode() をチェックします オーバーライドされたメソッドで。 DefaultFtplet をサブクラス化する必要があります Ftplet を実装するのではなく インターフェイスをゼロから作成します。

DefaultFtplet::afterCommand に注意してください に、どのクライアント コマンドが応答されているかを検出する方法を示します。 STOR を確認できます または STOU および応答コード 426 または 551 失敗したアップロードを検出します。

ただし、クライアント アプリがファイルが実際よりも短いかのように転送を処理することを決定した場合、これはクライアントによって意図的に終了されたアップロードを検出しない場合があります。意図せずに接続が切断された場合は、応答コード チェックが機能すると思います。テストでは、クライアント アプリを強制終了するか、クライアント マシンのネットワーク インターフェイスをダウンさせることができます。

成功したアップロード (元の質問) を処理するには、代わりに成功の応答コード、つまり 226 を探すことができます。 .


Linux
  1. Linuxファイル機能を管理する方法

  2. Linuxでスワップを作成する方法

  3. Linuxでスワップファイルを作成する方法

  1. コマンドラインからFTPで1つのファイルをアップロードする方法は?

  2. Ubuntu Linux を使用して FTP 経由でファイルをコピーするにはどうすればよいですか?

  3. 複数のファイルを Linux サーバーから FTP にアップロードするには?

  1. Linuxでファイルを見つける方法

  2. Linuxで特定のファイルを提供するパッケージを見つける方法

  3. Linuxでログファイルを空にする方法