2つの個別のディレクトリがあります。ユーザーは最初のファイルをロードします。バックグラウンドで実行されているcronjobがあり、5分ごとにファイルを2番目のディレクトリにコピーします。
ユーザーがアップロードを完了しておらず、cronjobがファイルをコピーした場合はどうなりますか?2つのディレクトリは異なるユーザーが所有し、cronジョブはrootとして実行されることに注意してください。
cp
。ファイルが完全にアップロードされるまで待機しません。ネットワーク転送速度は、同じホスト内のある場所から別の場所にファイルをコピーするよりも低いと予想されるため、ある時点でcp
現在のファイルの終わりに到達してコピーを停止します。あなたの問題の解決は簡単かもしれません:最初に、ユーザーは特別にマングルされたファイル名でファイルをアップロードします(例えば.
(ドット文字)を前に付けます。転送が完了すると、ユーザーは元の名前に名前を変更します。.
。で始まっていないファイルの場合