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

推薦する

MongoDBのパフォーマンスを向上させる方法

MongoDB は高性能なデータベースですが、使用していくうちにパフォーマンスの問題が発生することが...

手書きの Vue2.0 データハイジャックの例

目次1: webpackをビルドする2. データハイジャック3: まとめ1: webpackをビルド...

Dockerコマンドの自動補完の実装

序文この友人がどれくらいDockerを使っていなかったのかは分かりませんが、突然Dockerコマンド...

Javascript イベントキャプチャとバブリングメソッドの詳細な説明

目次1. イベント処理モデル1. イベントバブリング(1)3つのdiv要素にイベントをバインドする(...

Linux ホスト名設定の詳細な紹介

目次1. Linuxホスト名を設定するクライアントホストを構成するサーバーホストを構成する2. ホス...

MySQL スロークエリログの詳細な理解

目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...

MySQL v5.7.18 解凍バージョンのインストール詳細チュートリアル

MySQLをダウンロード5.1.1.1 より前のバージョン私のコンピュータは64ビットなので、Win...

Win7x64でのMySQL 5.7.18解凍版のインストール方法

関連記事: Win7 x64 に解凍版の mysql 5.7.18 winx64 をインストールする...

CSS シャドウ効果の比較: ドロップシャドウとボックスシャドウ

Drop-shadow と box-shadow はどちらも影効果(ハロー効果)のための CSS プ...

Linux のタイムドログ削除を実装する簡単な方法

導入Linux は、ファイル、ログ、電子メール、バックアップなどを自動的に生成できるシステムです。ハ...

MySQL データを誤って削除した場合の簡単な解決策 (MySQL フラッシュバック ツール)

概要Binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

MySql のグループ化と各グループからランダムに 1 つのデータを取得する

アイデア: 最初にランダムに並べ替えてからグループ化します。 1. テーブルを作成します。 テーブル...

2013年のウェブデザインUIの最もホットなトレンド最も人気のあるUIデザイン

時は経つのが早く、わずか 6 日後には 2013 年が歴史になります。今年は、いわゆるトレンドが多す...

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

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

Vueは買い物数量を変更できるショッピングカートを実装します

この記事では、Vueを使用してショッピングカートの数量を変更する方法を紹介します。具体的な内容は次の...