質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
logrotate

logrotateはログの世代管理やサイズ制限を行うLinux標準のツールです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

1784閲覧

ログローテートの設定で一週間分ファイルを残したい

ruuuu

総合スコア174

logrotate

logrotateはログの世代管理やサイズ制限を行うLinux標準のツールです。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2020/06/03 04:12

編集2020/06/03 04:13

ログローテートについて、調べていたのですが、いまいち良く分からなかった為、質問させて貰いました。
参考にさせて頂いた記事は、こちらこちらになります。
仮になのですが、/var/www/django/app/app_test/app_project/test/log/ フォルダ下には毎日ログファイルが蓄積されていくとした場合、これらの全てのファイルを対象に、作成されてから1週間経過したファイルを削除したい場合は、下記のような形で良いのでしょうか?

/var/www/django/app/app_test/app_project/test/log/*.log { missingok weekly rotate 1 }

つまり、logフォルダ下には、常時一週間分のファイルが保存されているように設定したいと考えています。
色々調べてみたのですが、いまいち「ローテンション」の意味や「世代」が何を意味しているのか分からない状態です。
ログローテーションの理解がいまいち分からない為、どなたかご助言頂けましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

dailyにして
rotate 7にしたら?

「ローテンション」

指定した間隔でファイルをリネームして新しいログファイルを作るって事です
aaa.logをaaa.log.1にして新しく空のaaa.logを作る

世代

上記の場合に、aaa.log.1が1世代分になります

投稿2020/06/03 04:29

hentaiman

総合スコア6426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruuuu

2020/06/03 05:12

ご回答ありがとうございます。 >上記の場合に、aaa.log.1が1世代分になります こちらですが、仮に、dailyとして、rotate7にした場合、8世代目のファイルが作成されたタイミングで、1世代目のファイルが削除されるといった挙動になるのでしょうか?
hentaiman

2020/06/03 05:36

そうです dailyなので1ファイルが1日分です 試しに適当なディレクトリ作ってローテーションさせてみてはどうですか? ログの量に応じて圧縮したりファイル名のフォーマット決めたりスクリプト動かしたりとか色々あるので、実際に試すのが一番良いですよ
ruuuu

2020/06/03 06:29

ご返信ありがとうございます。 今、「 sudo logrotate -fv /tmp/log/logrotate.conf」にて、手動でログローテートを実行した後、新たに、「/var/www/django/app/app_test/app_project/test/log/」下に「testa.log」を作成し、 「sudo logrotate -fv /tmp/log/logrotate.conf」を行なったのですが、こちらのファイルも「test_a.log.1」と1世代目を表す「1」がついてしまいました。こちらは2世代目として扱われないのは理由は何故なのでしょうか? 重ね重ね申し訳ないのですが、ご返信頂けましたら幸いです。
hentaiman

2020/06/03 06:53

ついてる数字が2じゃないのがおかしいってことですか?
ruuuu

2020/06/03 07:12

はい。2回目のローテーションの実行なので、2世代目を表す「2」がつくのではないかと思った次第です。
hentaiman

2020/06/03 07:50

ファイル名の違いは記述ミスだとして、rotate1にでもしてんじゃないの conf見てないから知らないけど confの確認するなりrotateしたファイルのタイムスタンプ見て動作してるか確認するなり、いろいろ出来る事はあると思うので
ruuuu

2020/06/03 08:06 編集

ご返信ありがとうございます。 confには、rotate1を設定しているのですが、こちらが原因となってしまっている可能性があるのでしょうか...?
hentaiman

2020/06/03 08:49

その質問が出るって事はconfに書いている内容を全く理解せずにどこかしらかコピーして使っているってことでしょうか? ここで説明聞いて断片的に知るよりもグーグル先生で検索してconfに書いてある項目の意味を理解した方が良いでしょうね、でないと事故りますよ その上で設定パラメーターを変更したりしながらテスト動作をし、それでも分からなかったらまた質問してください
ruuuu

2020/06/03 08:51

分かりました。もう少し、調べてみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問