質問: syslogのローテーション設定 freebsd上でsyslogのローテーションを設定しています。 ローテーションは毎日午前0時に行い、それが正常に ログファイルのファイル名を syslog.log.2006-06-11.gz (つまりsyslog.log.(ログローテーションを実行した前日の日付)) のように運用したいと思っています。 何かアイデアがありましたらお教えください。 今のところ、ローテーションにはnewsyslogを使用しています。 ローテーション自体は問題なく動作していますが、ファイル名の 変更処理がわかりません。 また自分は当該サーバの管理者ですので、やれることに 権限上の制限はありません。 よろしくお願いいたします。
回答: がると申します。 似たような状況で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