• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:syslogのローテーション設定)

syslogのローテーション設定について詳しく教えてください

このQ&Aのポイント
  • FreeBSD上でsyslogのローテーションを設定する方法を教えてください
  • ローテーションは毎日午前0時に行われ、ログファイルのファイル名は syslog.log.2006-06-11.gz のように運用されます
  • 現在はnewsyslogを使用してローテーションを行っており、管理者権限の制限はありません

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 似たような状況でlogをローテートしているbashのバッチファイルを記載してみます。 ちと対象ファイル、ファイル名の命名規則など異なるかと思うので、適宜アレンジしてください。 なにかの参考にでもなれば幸いです。 #!/bin/bash DATE=`/bin/date +%Y%m%d`_ DIR=/var/log for file in syslog access_log http_error_log do cp $DIR/$file $DIR/bak/$DATE$file cat /dev/null > $DIR/$file done

inter10
質問者

お礼

ありがとうございます。教えていただいた内容を基に、以下のスクリプトを書いてみました。これを毎日0:01に走らせることで目的の処理を実現できました。 YESTERDAY=`TZ=JST+15 /bin/date +%Y-%m-%d` DIR=/var/log LOGFILE=`find /var/log/syslog.log.0.gz -cmin -3` if [ $DIR/syslog.log.0.gz = $LOGFILE ] ; then cp $LOGFILE $DIR/ARCHIVE/syslog.log.$YESTERDAY.gz && \ rm $LOGFILE && \ find $DIR/ARCHIVE -name 'syslog.log.*.gz' -mtime '+94' -exec rm -r {} \;

関連するQ&A