Shishou Engineering Blog

Aim for Full Stack Engineer.

nohupコマンド利用時のログローテーション

このブログはnohupコマンドで起動用のシェルを実行して立ち上げているのですが、

それだけだとログが肥大化してしまう問題があったため、logrotateコマンドを使用して自動的にログファイルをローテートさせるようにしてみました。

 

nohupコマンドの実行例:

nohup ./start.sh &

 

nohupコマンドでプロセスを起動すると、実行したシェルファイルが配置されたディレクトリにnohup.outが出力されるので、そのファイルをローテートさせます。

まずはlogrotateの設定ファイルです。

今回は/etc/logrotate.confに追記しています。

 

/nohup実行ディレクトリのパス/nohup.out {
    size 1M # 1MBを超えたらローテートさせる
    su ユーザー名 グループ名 # ローテートさせるユーザーとグループ
    rotate 4 # 残す世代
}

 

 以下のコマンドでlogrotateを有効化します。

sudo logrotate /etc/logrotate.conf

 

logrotateに指定できるオプションについては

man logrotateで確認ができます。

 

2018-10-13 18:46:43


About
@hiroki8080

京都在住のフリーランスエンジニアです。

ITやIoT, 自作のCMS開発に関することを書いていきます。


主なスキル

Python, Java, C#

AWS, Unity

アプリケーション、フレームワーク、

ライブラリの設計、開発

お仕事のご依頼について

お仕事のご相談・ご依頼などありましたら、

お気軽にお問い合わせください。

e-mail:hiroki-m@gaia.eonet.ne.jp