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 で準備、実行、割り当て解除ステートメントを使用するチュートリアル

推薦する

ボタンの 4 つのクリック応答方法の概要

ボタンは頻繁に使用されます。ここでは、イベント処理メソッドを整理し、実装方法が多数あることを発見しま...

Mysql ALTER TABLE はフィールドを追加するときにテーブルをロックしますか?

目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...

ウェブサイトのアクセス速度を向上させるための徹底的な最適化に関するヒント

<br />ウェブサイトのアクセス速度はウェブサイトのトラフィックに直接影響を及ぼし、ウ...

docker を使用してコード サーバーをデプロイする方法

画像をプルする # docker pull codercom/code-server # Docke...

Docker /var/lib/docker/aufs/mnt ディレクトリのクリーニング方法

会社のサービスはdockerを使用しており、ディスクマンが見つかりました。その後、次のコマンドを実行...

各 Nginx プロセスで開くことができるファイルの最大数を設定する方法

1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...

Vue の長いリストをすばやく読み込む方法

目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...

Docker デプロイメント Consul 構成プロセスの分析

コマンドを実行docker run -d --name consul -p 8500:8500 co...

LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。

0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...

MySQL の DOS ウィンドウの文字化け問題を解決する方法

文字化けしたコードの問題は次のとおりです。 この問題の原因は非常に単純です。コマンドラインのエンコー...

高速でクールな揺れアニメーション効果を実現するCSS

1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...

MySQL の時間タイプの選択

目次日時タイムスタンプ選び方ミリ秒の時間を保存する方法結論MySQL は、日付と時刻を処理するために...

Vue スキャフォールディング学習プロジェクト作成方法

1. 足場とは何ですか? 1. Vue CLI Vue CLI は、Vue.js をベースにした迅速...

MySQL 5.7.24 のインストールと設定方法のグラフィックチュートリアル

MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーションに...

Windows 10 無料インストール版の MySQL インストールと設定のチュートリアル

ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージョンと一致し...