« WEB上からapacheの生ログを見ることができるようにするプログラム | Main | MySQLのSQLクエリーだけで棒グラフを表示する方法 »

November 01, 2010

古いログを別のディレクトリに自動的に移動する方法

ログが溜まってくると、必要な情報を探しにくくなるので古いログを別のところに移動させたいと思うようになります。今回はそんな場合のためのcron設定を記してみます。

【cron設定】
いろいろな方法があるかと思いますが、今回はシンプルにいきます。

5 3 * * * /usr/bin/find /home/user/logs/*log -maxdepth 1 -type f -mtime +6 -exec /bin/mv {} /home/user/oldlogs/ \; 1> /dev/null

細かいオプションの意味は以下の通りです。

・「-maxdepth 1」・・・検索対象のディレクトリを1階層に制限する。
・「-type f」・・・検索対象をファイルに限定する。
・「-mtime +6」・・・データが修正された時間が7日以前のもの。+6とは7日(144時間)前~過去を指す。(+7でない点に注意)
・「-exec ~ \;」・・・「~」の部分のコマンドを実行する。
・「{}・・・ここにfindされたファイルのファイル名が入る。


【注意事項】
この方法で古いファイルを移動させる際、ログを吐き出す元アプリケーションを再起動しないとその後のログを吐き出さなくなる場合があります。その場合はrotatelogsかlogrotateを組み合わせるなどで回避する方法もあります。

|

« WEB上からapacheの生ログを見ることができるようにするプログラム | Main | MySQLのSQLクエリーだけで棒グラフを表示する方法 »

サーバ・OS」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/32004/49905316

Listed below are links to weblogs that reference 古いログを別のディレクトリに自動的に移動する方法:

« WEB上からapacheの生ログを見ることができるようにするプログラム | Main | MySQLのSQLクエリーだけで棒グラフを表示する方法 »