/var/tmp とファイルの存続期間

/var/tmp とファイルの存続期間

毎分実行され、特定のファイルの存在を確認する cronjob があります。そのようなファイルがない場合、ジョブは何も表示されずに終了します。ファイルがある場合は、別のスクリプトが開始されます。そのスクリプトは、完了するとファイルを削除します。実行時間は最大 20 分かかる場合があります。

私の質問は、このスキームに欠陥があるかどうかです。このようなファイルを tmp に保存しても問題ありませんか? 削除しようとするものが何もないと確信できますか?


ご返信ありがとうございます!

このスキームの目的は、Web インターフェイスを介してそのスクリプトを実行できるようにすることです。スクリプト自体はユーザーのホーム フォルダーにあり、その内容に対して動作します。/var/run に pid ファイルを作成することが適切かどうかはわかりません。

答え1

Linux システムについて話しているのだと思います。/tmp をクリーンアップする設定を何もしていない場合は、自動的には実行されません。唯一の例外は、システムを再起動するときです。ほとんどの Linux ディストリビューションは、再起動時に /tmp をクリーンアップします。もちろん、クリーンアップを実行するスクリプトを検索して、これが問題であれば無効にすることができます。

答え2

まず...「完了したらファイルを削除する」場合、ジョブは最大 20 回実行される可能性があります。おっしゃるとおり、ファイルは検出されたら移動/削除する必要があります。

ここでも同様の質問がされています。

答え3

ファイル処理スクリプトがすでに実行されていないことを確認している限り、問題はないはずです。ランダムに再起動が発生しない限り、この種の処理には /tmp で問題ありません。ランダムに再起動が発生すると、それ自体がかなり大きな問題になります。

答え4

hier のマニュアル ページを参照してください。この種のフラグは、多くの場合、/var/run にあります。複数の処理スクリプトが実行されないようにするには、両方のプロセスにマーカー ファイルを使用する必要があります。

関連情報