nginx proxy_cache バッチキャッシュクリアスクリプトの紹介

nginx proxy_cache バッチキャッシュクリアスクリプトの紹介

前書き: 以前、公式の nginx proxy_cache を CDN 静的キャッシュとして使用していましたが、このモジュールでキャッシュをクリアするのは大きな問題であることがわかりました。URL を 1 つずつしかクリアできません。このため、キャッシュを一括でクリアするスクリプトを作成しました。

主な機能は次のとおりです。

1. ファイルの種類別にクリーンアップする

2. 特定のファイル名でクリーンアップする

3. ウェブサイトディレクトリによるクリーンアップ

以下は bash シェル スクリプト コードです。以前からインターネット上には同様のスクリプトが多数存在していましたが、それらはあまり良くなく、簡単に人を誤解させて間違いを犯す可能性があります。

#!/bin/bash
#メール:[email protected]
#Nginx Proxy_Cache シェル スクリプトの自動クリーンアップ
#おばさん:sun~shell
#日付:2017-02-23
エコー -e "\n\n"
echo -n -e "\e[35;1mNginx Proxy_cache キャッシュの特定のパスを入力してください (注意: Tab 補完機能を使用できます!)\e[0m\e[34;5m:\e[0m"
読み取り -e パス
CACHE_DIR=$パス
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[32;1m削除するアクションを入力してください\n1. ファイルの種類で削除\t2. 特定のファイル名で削除\t3. ファイル ディレクトリで削除\n:"
アクションを読む
   ケース$actionin
1)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[34;1m 削除するキャッシュ ファイルの種類を入力してください (スペースで区切って複数のパラメータを入力できます)\e[0m\e[34;5m:\e[0m"
FILE を読み込む
i in `echo ${FILE[*]}|sed 's/ /\n/g'` の場合
する
grep -r -a \.$i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
 `cat /tmp/cache_list.txt` の j について
する
  rm -rf $j
  echo "$i $j が正常に削除されました!"
 終わり
終わり
;;
2)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[33;1m 削除するキャッシュ ファイルの特定の名前を入力してください (スペースで区切って複数のパラメータを入力できます)\e[0m\e[34;5m:\e[0m"
FILE を読み込む
i in `echo ${FILE[*]}|sed 's/ /\n/g'` の場合
する
grep -r -a $i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
 `cat /tmp/cache_list.txt` の j について
する
  rm -rf $j
  echo "$i $j が正常に削除されました!"
 終わり
終わり
;;
3)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[33;1mサポートされているモードは次のとおりです:\n1. ウェブサイトのストア ディレクトリの下にあるすべてのキャッシュをクリアします: test.dd.com/data/upload/shop/store\n2. ウェブサイトのショップ ディレクトリの下にあるすべてのキャッシュをクリアします: test.dd.com/data/upload/shop\e[0m\n"
echo -n -e "\e[34;1m 削除したいキャッシュファイルの特定のディレクトリを入力してください\e[0m\e[34;5m:\e[0m"
FILE を読み込む
i in `echo ${FILE[*]}|sed 's/ /\n/g'` の場合
する
grep -r -a "$i" ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
 `cat /tmp/cache_list.txt` の j について
する
  rm -rf $j
  echo "$i $j が正常に削除されました!"
 終わり
終わり
;;
*)
echo "入力エラーです。再入力してください"
;;
エサック

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Nginx でバージョン番号と Web ページのキャッシュ時間を非表示にする方法
  • nginxのリソースキャッシュ設定の詳細な説明
  • nginx キャッシュサーバーに静的ファイルを設定する方法
  • Nginxとブラウザキャッシュの扱い方
  • Nginx キャッシュ設定例

<<:  VUE と Canvas を使用して Thunder Fighter タイピング ゲームを実装する方法

>>:  MySQL で準備、実行、割り当て解除ステートメントを使用するチュートリアル

推薦する

Windows Server 2008 R2 リモート デスクトップのポート 3389 を変更する方法

Windows サーバー リモート デスクトップのデフォルトのポート番号は 3389 です。職場でサ...

Dockerを使用してPythonランタイム環境の基本イメージを作成する方法

1. 準備1.1 Pythonインストールパッケージをダウンロードします(注:Pythonバージョン...

...

MySQL の DDL と DML についての簡単な説明

目次序文1. DDL 1.1 データベース操作1.2 データテーブルの操作1.3 一般的なデータ型1...

Vue の高度なコンポーネント機能コンポーネントの使用シナリオとソースコード分析

目次導入使用シナリオソースコード分析要約する導入Vue は、コンポーネントをステートレスかつインスタ...

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮httpリクエストの数を減らす要求されたリソースのサイズを縮小...

Nodejs でモジュール fs ファイルシステムを使用する方法

目次概要ファイル記述子同期、非同期、Promise同期書き込み非同期書き込み(推奨)約束​​の書き方...

HTML の空リンク href="#" と href="javascript:void(0)" の違い

# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...

MySQL インデックス障害の上位 10 の問題の概要

目次背景1. クエリ条件に「or」が含まれているため、インデックスが失敗する可能性があります。 2....

webpackのモバイル適応ソリューションの概要

目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...

Ubuntu の Python で C/C++ メソッドを呼び出すダイナミック リンク ライブラリの詳細な説明

ブーストをインストールPython から C/C++ を呼び出す方法はたくさんあります。この記事では...

CSS3 で六角形の境界線を実装するサンプルコード

一番外側の boxF は 120 度回転し、2 番目の boxS は -60 度回転し、3 番目の ...

企業サイトとコラム辞典 中国語と英語の比較 中国語と英語のバイリンガル企業サイトを作る仲間は

名前キャラクター名前キャラクター情報ニューステクノロジー技術スキンケアスキンケア補う補う香水香水化粧...

Linux で ARM 開発ボード用のファイルシステムを作成する

1. Busyboxのソースコードをオンラインでダウンロードしてください。コンパイル方法については、...

HTML マークアップ言語 - フォーム

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...