ファイルといくつかのサブディレクトリがあるディレクトリツリーがあります。Bash:ファイルセットとそのgzipped同等物の維持
/
/file1.txt
/file1.txt.gz
/file2.png
/file2.png.gz
/dir1
/subfile1.gif
/subfile1.gif.gz
これは新しいの作成を処理します:
/
/file1.txt
/file2.png
/dir1
/subfile1.gif
目的は、各ファイルのgzip圧縮されたバージョンを生成して、コメントを追加し.gz
接尾辞で、各ファイルの隣にそれを保存したスクリプトを持つことです.gz
ファイル。
別の部分は削除です:gzipでないファイルが作成されるたびに、スクリプトは実行時に孤児の.gz
バージョンを削除する必要があります。
最後とトリッキーな部分は修正である:たび、ファイルの間にいくつかの(非gzip圧縮された)ファイルのタイムスタンプに基づいて、ファイルを再実行するのみ変更されたファイルの.gz
バージョンを更新するスクリプトを、変更された(mtime
)の比較とそのgzippedバージョン。
このようなスクリプトをbashで実装することはできますか?
編集:これは、gzip_staticモジュールを使用して提供するnginxの各ファイルの圧縮コピーを用意しておくことを目的としています。 nginxのgzip_staticモジュールは、圧縮されたバージョンが存在しない場合、あるいは圧縮されていないバージョンのタイムスタンプが最新でない場合、非圧縮バージョンのコンテンツを提供するのに十分スマートなので、何かが変わるとすぐに物事を自動的に圧縮するバックグラウンドサービスではありません。 gzippedバージョンのタイムスタンプ。したがって、これは、サーバがビジーでないときはいつでも実行されるスクリプトです。
[何を試しましたか](http://mattgemmell.com/2008/12/08/what-have-you-tried/)?信じられないかもしれませんが、これは*重要な仕事量であり、あなたは単純にその仕事を無料で委託したいと思われます。私はあなたが問題を解決するのを助けてくれることをうれしく思っています。 –
これは、nginxが-9 gzを用意しておきたいとしましょう。コピー用のスクリプトを作ってみませんか?ディレクトリに両方のバージョンを持つ利点はありません –
少なくとも、よく定義された問題ですが、良い書式と問題の説明のために+1しますが、私はTimに同意します。 Etienneが欠けているものが1つあります。あなたの説明は、このすべてが自動的にサービスとしてバックグラウンドで実行されるように思えます。これがあなたの意図ならば、もっと明確にしてください。引数を受け入れ、コマンドラインから実行するいくつかのユーティリティスクリプトがほしいだけなら、それも言ってください。がんばろう。 – shellter