bashスクリプトで生成された準短期データを保存するのに最適な場所はどこですか?

bashスクリプトで生成された準短期データを保存するのに最適な場所はどこですか?

修正する

より良い解決策を思いついた:基本ディレクトリ/var/tmp

考えてみてください。 https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

| /var/tmp | Temporary files to be preserved between reboots. |

この場所は、データセットを/ tmpに不適切にする唯一の条件、つまり再起動後も生き残る必要があることを除いて、実際には/ tmpと同じです。

可能なすべての観点から、そのデータセットを/ var / tmpに配置することは、次の利点のみです。

• 場所の説明とよく合います。

• バッシュスクリプト

mkdir /var/tmp/bash_script_x_logs

•bashスクリプトxは、特権の昇格、sudo、またはルートなしで毎日最初に処理されるすべてのファイルのログを保存できます。

ls /var/tmp/bash_script_x_logs

bash_script_A
bash_script_B
bash_script_Y
bash_script_Z

•この場所は誰でもアクセス可能で共有可能であるため、処理されたbashスクリプトYの共同作業が可能です。

たとえば、1 つのホストにある、または複数のホストに分散しているユーザー A、B、C があるとします。

午前8時、ユーザーCはbashスクリプトYを最初に処理した人であり、bashスクリプトXを介して状況を分析しています。

BashスクリプトXは、分析bashスクリプトYの最初の実行でデータセットを/var/tmp/bash_script_x_logs

ユーザーは午前11時までにファイルを操作して作業を完了でき、午前8時に開始するよりも午前11時にファイル操作が15%少なくなるため、効率的です。

夜の10時に、ユーザーAはbashスクリプトYを処理し続け、同時にbashスクリプトXの進行状況を分析し、行、文字、ファイルサイズなどを分析します。

ただし、参考までに独自の開始データセットを生成してホイールを再発明するのではなく、bashスクリプト 。

したがって、午後11時にbashスクリプトXとbashスクリプトYを実行している人に表示される比較は、午前8時から午後11時までの1日の最初の実行で進行状況を示しています.午後10時から11時までの比較ではなく、比較もありません。新しい起動データセットを設定するだけです。

翌日、ユーザBはbashスクリプトYの処理を開始し、午後1時に初めて実行されるbashスクリプトXを介して進捗状況を分析する。この値は前日の値を上書きします。したがって、より明確に言えば、データセットの有効期間は正確に24時間ではなく真夜中までです。その後もデータセットが残っている可能性があるため、翌日にも存在しますが、次の日に bash スクリプト X が bash スクリプト Y に対して次回実行されるとき、参照値として使用されなくなります。代わりに、bashスクリプトは以前のデータセットが存在しないかのように動作します。結論は「ああ、bashスクリプトYのデータセットは今日保存されていません!したがって、残りのデータセットがある場合は変更します。

/var/tmp/bash_script_x_logs/または、追加のクローン操作を使用して、毎月平日の午後11時59分にすべての作業を完了できます。しかし、私に尋ねるなら、それは不要で過負荷になったことです。

わかりました…これは本当に好きです。


私は与えられたbashスクリプトXの行数、文字、ファイルサイズを計算し、一日の最初の実行結果をどこかに保存する小さなbashスクリプトYを作業しています。

Bashスクリプトを使用する場合、たとえば、「ファイルサイズ:-12%」は、bashスクリプトXがその日最初に実行されてからファイルサイズが12%減少したことを意味します。

したがって、最初の実行時に保存されたデータは非常に短い寿命ですが、再起動後も持続する必要があります。賞味期限は1日でなければなりません。したがって、再起動またはシャットダウンはいいえ保存されたデータの寿命は終わる必要がありますが、24時間後に、次にbashスクリプトYが実行されたときにbashスクリプトXの古いデータをbashスクリプトXの新しいデータで上書きする必要があります。

Linuxファイル階層またはファイルシステム階層標準(FHS)によると、これらの特定の種類のデータを保存するのに最適な場所は何ですか?

上記のデータは反一時的です。完全に一時的な場合は、再起動または終了するたびに元に戻され、上書きされます。この場合、/ tmp /がスクリプトによって生成されたデータに適した場所であることは間違いありません。しかし、もう一度永続的なシナリオは、再起動とシャットダウン後も生き残る必要がありますが、時間枠は24時間を超えることはできません。 Bashスクリプトでは、この種のデータをどこに配置できますか?私は/varまたは/usr/local/...をデフォルトのディレクトリと仮定し、そこに「bash script Y」という独自のサブディレクトリを置きます...

ベストアンサー1

これが人間のユーザーに属するデータであれば、freedesktopによると、基本的に$XDG_STATE_HOME正しい場所はです。$HOME/.local/stateXDG仕様

同様に、一時デーモンデータを入れます/usr/local/state。しかし、これはFHSと互換性がありません。説明するこのような状態にする必要があります/var/lib/<yourprogramsname>

おすすめ記事