Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxでfindコマンドを使って定期的にログを記録する方法

Linuxでfindコマンドを使って定期的にログを記録する方法

  

Linuxのコマンドを使ってディレクトリファイルを見つけることができます今日、Xiaobianはfindコマンドを使って定期的にLinuxログを移行する方法を紹介します。興味のある友人は理解するようになりたいかもしれません。

Linuxシステムで、findコマンドを使用して定期的にLinuxログを移行します。

コマンドフォーマットの検索

find pathname --options [-exec -print -ok] 。 ]

2番目に、findコマンドのパラメータ

pathname:findコマンドで検索するディレクトリパス

-print:一致ファイルを標準出力に出力するfindコマンド

-exec:findコマンドは、一致するファイルに対してこのパラメータで与えられたシェルコマンドを実行します。形式は次のとおりです。command {} \\;

-ok:execの役割に似ています。

3、コマンドオプションの検索

-name:ファイル名で検索

-perm:ファイルのパーミッションで検索

-user:ファイルのユーザーで検索

-group:ファイルのユーザーグループで検索

-type:特定の種類のファイルを見つける

b - ブロック型デバイスファイル

d - ディレクトリ

c - キャラクタ型デバイスファイル

p - パイプファイル

l - シンボリックリンクファイル

f - 通常ファイル

-mtime:ファイルの変更日時でファイルを検索

-n - - ファイルの変更時刻が今からn日以内であることを示します。

+ n - ファイルの変更時刻が現在でn日前であることを示します。

4番目に、ログ移行スクリプト

はfindコマンドを使用します。 mtimeパラメータは、2週間前から指定されたディレクトリにログファイルを移行します。

コードは次のとおりです。

#! /bin /bash

#site: "a href =' http://www.jb51.net'" www.jb51.net/a "

#1.標準の定義

backup_dir =' /backup /log'

keep_days = 14

week_num = `日付+%W`

flag =` expr $ week_num %2`

#2。ディレクトリを移行する必要があります

test1 =' /var /log /nginx /test1< '

migrate_dir =($ test1)

#3。バックアップを移行し、2週間ごとに実行

if [$ flag -eq 1];その後、$ {clean_dir [*]}のdirに対して


do

if [-d $ dir]; then

#移行ディレクトリを作成する

if [!] -d $ backup_dir $ dir];次に

mkdir -p $ backup_dir $ dir

fi

#ファイルの一覧
ディレクトリのタイプf -mtime + $ keep_days -exec {} \\; `

mv $ファイル$ backup_dir $ dir

完了

Fi

完了

fi

Crontabは2週間ごとにログ移行スクリプトを実行します。

コードは次のとおりです。

#log定期移行スクリプト< Br>

0 4 * * 7/2 /home/wangzhengyi/scripts/clean-scripts/migrate.sh

ファイルサイズで検索

findコマンドのsizeパラメータはfileで見つけることができます。次のように大きさ、サイズオプションのサイズを見つけるために:

たとえば、指定したディレクトリに10K以上のファイルのため、コマンドを見て:

上記のfindコマンドログでのLinuxの使用であります定期的な転送の方法は、実際には、findコマンドの多くの用途があります、賢い使用は多くの実用的な問題を解決することができます、あなたは学びましたか?

Copyright © Windowsの知識 All Rights Reserved