Bashを使用してドキュメントのルートディレクトリの下にあるすべてのCMSのすべてのキャッシュディレクトリを削除する良い方法

Bashを使用してドキュメントのルートディレクトリの下にあるすべてのCMSのすべてのキャッシュディレクトリを削除する良い方法

ドキュメントルートに3つのアプリケーションがあるとしましょう。最初はWordPress、2番目はDrupal、3番目はMagentoです。

ドキュメントルートの下のすべてのCMSのすべてのキャッシュディレクトリを削除する良い方法があるかどうか疑問に思います。

シェル拡張(WP-CLI、Drush、およびMagento CLI)を使用してスクリプトを実行できますが、良いBashグローバル方式は何ですか?

${drt}キャッシュされたすべてのファイル(=文書ルート)を削除するためにこれを考えました。

find ${drt}/*/cache/* -type f -exec rm -rf {} \;

ベストアンサー1

私は少し異なるコマンドを使いますfind

find "${drt}" -path "*/cache/*" -type f -exec rm -f {} \;

...findディレクトリツリーの再帰操作を実行します。例では、bashコマンドラインが完全に拡張され、複数の開始パスが*提供されています。また、ファイル(として明示的に要求されたファイル)を繰り返し削除するfind必要はありません。 findコマンドのこの一般バージョンはまた、キャッシュディレクトリがドキュメントルートより1レベル下にないようなディレクトリ内のファイルを「キャプチャ」します。これが望ましいかどうかは、環境内のキャッシュディレクトリの正確な場所によって異なります。-r-type f${drt}/wordpress/subdir/cache/directory/filename

GNU find(たとえば、Linux)がある場合は、次のコマンドを使用してアンインストールプロセスを簡素化できます。

find "${drt}" -path "*/cache/*" -type f -delete

おすすめ記事