前書き: 以前、公式の 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 をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: VUE と Canvas を使用して Thunder Fighter タイピング ゲームを実装する方法
>>: MySQL で準備、実行、割り当て解除ステートメントを使用するチュートリアル
質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...
mysql5.7.21の簡単なインストール構成は次のとおりです。 1. MySQLのインストール1....
1. Linuxカーネルドライバモジュールの仕組み静的ロードでは、ドライバモジュールをカーネルにコン...
このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...
<br />このタイトルを見ると、見覚えがあるかもしれません。多くのウェブサイトが同様の...
まず、Webフロントエンドエンジニアの価値についてお話ししましょう。現在、Web製品のインタラクショ...
ドキュメント オブジェクト モデル (DOM) は、プログラムがドキュメントのコンテンツ、構造、およ...
1. 背景DockerでRabbitMQをデプロイする際に、次の2つの問題が発生します。問題1: ス...
MySQL データベースは、特に JAVA プログラマーの間で広く使用されています。クラウド データ...
目次1 Nginxのインストール2 Nginxの設定3 ホストファイルを変更する4 テストNginx...
1. 複数の国境[1]背景: ボックスシャドウ、アウトライン使用シナリオの多様性を考慮すると、複数の...
CUDA インストール cuda をダウンロードサポートされているcudaバージョンを表示するには...
目次序文現地調査ケースの再現要約する序文最近、友人が突然WeChatで連絡してきて、MySQLでデー...
この記事では、マウスの動きに追従する画像を実現するためのJavaScriptの具体的なコードを参考ま...
目次序文文章1. stylelintをインストールする2. 設定ファイル3. stylelintを使...