Linuxはシェルスクリプトを使用して履歴ログファイルを定期的に削除します

Linuxはシェルスクリプトを使用して履歴ログファイルを定期的に削除します

1. ツールディレクトリのファイル構造

[root@www tools]# ツリーツール/
ツール/
├──ビン
│ ├── 履歴ファイルを削除する
│ 
└──など
  ├── del_history_files.cfg
 
2 つのディレクトリ、2 つのファイル

2. 履歴ファイルを削除するスクリプト del_history_files

[root@www tools]# その他の tools/bin/del_history_files
#!/bin/sh
 
# 指定されたディレクトリ内の、指定された時間ノードより前のファイルを削除します。時間の粒度: 時間# 設定ファイルの形式: クリーンアップするディレクトリ = 時間数#
#
# 制限パスを定義する
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
 
# adirname - 指定されたファイルの絶対ディレクトリ名を返す
adirname() { odir=`pwd`; cd `dirname $1`; pwd; cd "${odir}"; }
 
 
# ---------
# 定数
# ---------
MYNAM=`ベース名 "$0"`
MYDIR=`ディレクトリ名 "$0"`
MYCFG="${MYDIR}/../etc/${MYNAM}.cfg"
MYTMP="${MYDIR}/../tmp"
MYLCK="${MYTMP}/${MYNAM}.ロック"
 
# ロックを実行します(シェル内で可能な限り)
[ -s "${MYLCK}" ] && kill -0 `cat "${MYLCK}"` 2>/dev/null &&
    die "${MYNAM}: すでに実行中です!"
echo "$$" > "${MYLCK}"
 
PATHS=(`cat ${MYCFG}`)
${PATHS[@]}のPPの場合
する
  APP_PATH=`echo ${PP} | awk -F'=' '{print $1}'`
  N=`echo ${PP} | awk -F'=' '{print $2}'`
    [ -d ${APP_PATH} ] の場合;
    T=`/bin/date --date "${N} 時間前" "+%Y%m%d%H%M"`
    TMP_FILE="/tmp/`echo ${PP} | md5sum | awk '{print $1}'`"
    タッチ -t ${T} ${TMP_FILE}
    ${APP_PATH} を見つけてください! -新しい ${TMP_FILE} -type f -print0 | xargs -0 -n 100 rm -rf
    ${APP_PATH} を見つけます -type d -empty -print0 | xargs -0 -n 100 rm -rf &> /dev/null
    フィ
終わり
 
rm -rf ${MYLCK}

3. 履歴ファイルスクリプトの設定ファイルdel_history_files.cfgを削除します。

[root@www tools]# その他のツール/etc/del_history_files.cfg
# クリーンアップするディレクトリ = 時間数 /home/logs/nginx=720
/home/logs/varnish=720

4. crontabを実行する

[root@www tools]# /etc/crontab の詳細
シェル=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=ルート
ホーム=/
#古いログをクリア
00 6 * * * ルート /home/tools/bin/del_history_files

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Windows および Linux で特定の日より古いファイルを定期的に削除するスクリプト
  • Linux のスクリプトを使用して Oracle データベースを自動的にバックアップし、指定した日数より古いバックアップを削除します。
  • Linux 無効なリンク ファイル スクリプトの共有を削除する
  • 誤って削除されないようにするためのカスタム Linux スクリプトのアイデアとテスト

<<:  React+axios は github 検索ユーザー機能を実装します (サンプル コード)

>>:  MySQL でよく使われる連結文のまとめ

推薦する

シンプルなウェブページレイアウトの構造と表現原理の共有

構造とパフォーマンスの紹介HTML 構造、CSS 表現、JavaScript 動作。Web ページの...

jsプロジェクトでの双方向データバインディングの簡単な実装方法

目次序文パブリッシュ・サブスクライバ・パターン結果電話要約する序文双方向データ バインディングとは、...

MySQLはmysqldump+binlogを使用して、削除されたデータベースの原理分析を完全に復元します。

1. 概要MySQL データベースの日常的な操作とメンテナンスにおいて、ユーザーが誤ってデータを削...

MySQL binlog を使用して誤って削除されたデータベースを復元する方法

目次1 現在のデータベースの内容を表示し、データベースをバックアップする2 bin_log関数を有効...

DockerでJavaプログラムを起動する方法

シンプルなSpring Boot Webプロジェクトを作成するアイデア ツールを使用して、Sprin...

Selenium+testng を使用して Docker で Web 自動化を実現する方法

序文長い間さまざまな資料を読んで、ついに selenium+testng のパラメータ化の問題を解決...

docker エントリポイントファイルの詳細な説明

Dockerfile を作成するときは、コンテナが起動する前に初期化構成やカスタム構成を実行するため...

CentOS7.8 に mysql 8.0.20 をインストールするための詳細なチュートリアル

1. MySQLソフトウェアをインストールするMySQL 公式 Yum リポジトリ、MySQL バー...

Vueデータ双方向バインディング実装方法

目次1. はじめに2. コードの実装2.1 目的分析2.2 実装プロセス2.2.1 エントリーコード...

Ubuntu にグラフィック ドライバーが正常にインストールされたかどうかを確認する方法

次のコマンドを実行します: glxinfo | grep レンダリング結果が「はい」の場合、グラフィ...

JavaScript を学ぶときに知っておくべき 3 つのヒント

目次1. 魔法の拡張演算子1. 配列をコピーする2. 配列を結合する3. オブジェクトを展開する2....

Dell R720 サーバーに Windows Server 2008 R2 をインストールする方法

注: この記事のすべての写真はインターネットから収集されたものであるため、DELL R720 サーバ...

黒、白、グレーの控えめでエレガントなウェブデザインを鑑賞

クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...

Vueはdivホイールのズームインとズームアウトを実装します

Vue プロジェクトで div ホイールのズームインとズームアウト、ドラッグ効果、キャンバス効果に似...

SSL で Nginx リバース プロキシを構成する簡単な手順

序文リバース プロキシは、Web 経由で行われたリクエスト (http と https の両方) を...