いくつかのファイルといくつかのサブディレクトリがあるディレクトリ ツリーがあります。
/
/file1.txt
/file2.png
/dir1
/subfile1.gif
目的は、各ファイルの gzip バージョンを生成し、各ファイルの横に.gz
サフィックスを追加して保存するスクリプトを用意することです。
/
/file1.txt
/file1.txt.gz
/file2.png
/file2.png.gz
/dir1
/subfile1.gif
/subfile1.gif.gz
これにより、新しい.gz
ファイルの作成が処理されます。
もう 1 つの部分は削除です。gzip されていないファイルが作成されるたびに、スクリプトは.gz
実行時に孤立したバージョンを削除する必要があります。
最後の最も厄介な部分は変更です。一部の (gzip されていない) ファイルが変更されるたびに、スクリプトを再実行すると、ファイルと gzip されたバージョンのファイル タイムスタンプ ( ) の比較.gz
に基づいて、変更されたファイルのみのバージョンが更新されます。mtime
そのようなスクリプトを bash に実装することは可能ですか?
編集:これの目標は、nginx が gzip_static モジュールを使用して提供する各ファイルの圧縮コピーを準備することです。nginx の gzip_static モジュールは、圧縮されたバージョンが存在しない場合、または圧縮されていないバージョンのタイムスタンプがgzip されたバージョンのタイムスタンプ。そのため、これは、サーバーがビジーでないときはいつでも実行されるスクリプトです。