Chinachu で ログローテート

録画システムの chinachu で要望も出ていたようなのでそのうち対応されると思われますが、 bash のシェルスクリプトの練習にはちょうど良いので書いてみました。

crontab に登録して23時59分に実行。例えば wui を その日の曜日の wui_Sunday とかにファイル名を変更します。

作成したシェルスクリプトは /home/chinachu/bin などに logrotate.bash として保存します。

※2013-11-08 追記。スクリプトを修正。
#!/bin/bash
#
# chinachu log rotate
#

LANG=C
LOGDIR=$HOME/chinachu/log
LOGS=(operator scheduler wui)

for LOG in ${LOGS[@]}
do
    WDAY=`date '+%A'`
    LOG2="${LOG}_${WDAY}"
    cp -f $LOGDIR/$LOG $LOGDIR/$LOG2
    cp -f /dev/null $LOGDIR/$LOG
done

exit 0

作成したスクリプトは crontab に登録しておきます。実行したコマンドをまとめておきます。

$ vi logrotate.bash
$ chmod u+x logrotate.bash
$ crontab -e
$ crontab -l
SHELL=/bin/bash
MAILTO=""

# chinachu log rotate
59 23 * * * /home/chinachu/bin/logrotate.bash

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です