system.logのローテートについて
初めまして。みずぬまと言います。
system.logのローテートをアーカイブする回数を増やす
または、保存期間を長くしたいと考えているのですが、
どこを修正すればよろしいのか、ご存じの方がおりましたら
ご教授ください。
Linuxですと、「/etc/cron.diary/logrotate」辺りを
みたりすると思いますが、OSXですとどこをいじるのでしょうか。。。
初めまして。みずぬまと言います。
system.logのローテートをアーカイブする回数を増やす
または、保存期間を長くしたいと考えているのですが、
どこを修正すればよろしいのか、ご存じの方がおりましたら
ご教授ください。
Linuxですと、「/etc/cron.diary/logrotate」辺りを
みたりすると思いますが、OSXですとどこをいじるのでしょうか。。。
OSX の場合、/etc/weekly や /etc/monthly で決めうちです。
これらスクリプトを変更すればいいのでは?
system.logのローテートは毎日ですので、/etc/dailyですね。
現在7回分しか保存しないようになっていますが、回数を増やすスクリプトの修正は簡単です。
ローテートの頻度を減らすには、例えば現在の日付でローテート部分をスキップするようにしてやれば良いでしょう。
当然ですが、システムのアップデートで上書きされたり、思わぬ不具合が出る可能性もありますので、あくまで自己責任でお願いします。
「/etc/daily」の下記の部分を修正すれば良いと言うことでしょうか?
ご教授の程、よろしくお願い致します。
echo ""
printf %s "Rotating log files:"
cd /var/log
for i in system.log; do
if [ -f "${i}" ]; then
printf %s " ${i}"
if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
if [ -f "${i}.6${gzext}" ]; then mv -f "${i}.6${gzext}" "${i}.7${gzext}";
fi
if [ -f "${i}.5${gzext}" ]; then mv -f "${i}.5${gzext}" "${i}.6${gzext}";
fi
if [ -f "${i}.4${gzext}" ]; then mv -f "${i}.4${gzext}" "${i}.5${gzext}";
fi
if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}";
fi
if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}";
fi
if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}";
fi
if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}";
fi
if [ -f "${i}" ]; then
touch "${i}.$$" && chmod 640 "${i}.$$" && chown root:admin "${i}.$$"
mv -f "${i}" "${i}.0" && mv "${i}.$$" "${i}" && if [ -x /usr/bin/gzi
p ]; then
gzip -9 "${i}.0"; fi
fi
fi
done
if [ -f /var/run/syslog.pid ]; then kill -HUP $(cat /var/run/syslog.pid | head -1)
; fi
echo ""
Terminalにman periodicと打てばmanualが出ますが... :-)
済みませんでした。/etc/daily でしたね。
kawabe さんご指摘ありがとうございます。
>「/etc/daily」の下記の部分を修正すれば良い
そうです。if .... fi に囲まれた行が並んでますが、これに必要なだけ追加するだけでいいはずです。
もっと長くしないのなら、いっそうのこと、daily の分はコメントアウトしてしまって、この分を weekly にコピーすれば、毎週の更新になります。
ピッピさん、
今回は、periodic で実行されるスクリプトの内容が問題なので、periodic は今回は直接は関係ないです。
> periodic で実行されるスクリプトの内容が問題なので...
ごめんなさい。途中から読んで反応してしまいました。:-)
試してみます。
ご教授頂きありがとうございました。
system.logのローテートについて