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 でよく使われる連結文のまとめ

推薦する

ウェブページサイズに関する調査

<br />統計によると、Web ページの平均サイズは 2003 年以降 3 倍に増加し...

nginx + fastcgi を使用して画像認識サーバーを実装する

背景ディープラーニング モデルの推論には、特定のデバイスが使用されます。マシンは、モデルの読み込み、...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

HTML5+CSS3コーディング標準

黄金律プロジェクトに何人の人が取り組んでいるかに関係なく、すべてのコード行が同じ人によって書かれたよ...

nginx のロケーションで URI の傍受を実装する方法

例:場所のルートとエイリアスルートディレクティブは、ルートによって設定されたディレクトリに検索ルート...

Tomcat の設定と Eclipse での起動方法

目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...

高並列処理 nginx サーバー向け Linux カーネル最適化構成の説明

デフォルトの Linux カーネル パラメータは最も一般的なシナリオに基づいており、高い同時アクセス...

MySQL NULLがピットを引き起こした

比較演算子でNULLを使用する mysql> 1>NULLを選択します。 +------...

BFCとは何ですか? CSS 疑似要素を使用してフロートをクリアする方法

BFCコンセプト:ブロック フォーマット コンテキストは、BFC 内の要素を外部の要素から分離する独...

HTMLでカメラを読み込む方法

効果図: 全体的な効果: ビデオ読み込み中: 写真:ステップ1: HTML要素を作成するまず、HTM...

VantフレームワークをWeChatアプレットに導入するプロセス全体の記録

序文WeChat ミニプログラムのネイティブ UI が少し物足りないと感じることがあるので、サードパ...

JSブラウザイベントモデルの詳細な説明

目次イベントとは簡単な例イベントをバインドする方法フレームワーク内のイベントイベントオブジェクトイベ...

SSDストレージを有効にしたMySQLインスタンスの詳細な説明

SSDストレージを有効にしたMySQLインスタンスの詳細な説明特に OS と MySQL が同じディ...

CSS属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...

Nginx ベースの HTTPS ウェブサイトを設定する手順

目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...