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

推薦する

JSは星を消すケースを実現する

この記事の例では、星を消すためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のと...

Linux カーネル デバイス ドライバー キャラクタ デバイス ドライバー ノート

/******************** * キャラクターデバイスドライバー**********...

テーブル関連の配置とJavascript操作テーブル、tr、td

適切に機能するテーブル プロパティ設定:コードをコピーコードは次のとおりです。 <テーブル セ...

Tomcatのクラスロードメカニズムのプロセスとソースコード分析

目次序文1. Tomcat クラスローダー構造図: 2. Tomcat のクラスロードプロセスの説明...

VueのID認証管理とテナント管理の詳細な説明

目次概要ボタンレベルの権限アイデンティティ認証管理R/U 権限権限の更新テナント管理テナント切り替え...

Docker を使用して Django プロジェクトをデプロイする方法の例

また、Dockerを使用してDjangoプロジェクトをデプロイするのも非常に簡単です。とても良いです...

Linux(中心OS7)は、Java Webプロジェクトの実行環境を構築するためにJDK、Tomcat、MySQLをインストールします。

1. JDKをインストールする1. 古いバージョンまたはシステム独自のJDKをアンインストールする...

ネイティブ JavaScript でショッピングカートを実装する

この記事では、ショッピングカートを実装するためのJavaScriptの具体的なコードを参考までに紹介...

CSSブレンドモードとSVGを使用して、製品画像の色を動的に変更します。

数日前、Codepen で @Kyle Wetton が書いた、CSS ブレンディング モードと S...

CSS3 を使用した背景ぼかし効果の 3 つの例

導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...

docker と docker-compose による eureka の高可用性の実現の詳細な説明

最近、新しいプロジェクトでは springcloud と docker が使用されています。この 2...

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明MySQL データベースを使用して、...

shtml includeの使い方

これを応用することで、ウェブサイトの一部の公開領域を独立したページにすることができ、その後、この技術...

Mysql データベースのマスタースレーブ同期構成

目次Mysql マスタースレーブ同期構成1. 2つのmysqlをインストールする2. MySQL設定...