Ubuntuをインストール/アップグレードする際のインストールスクリプトを記述しようとしています。修正に問題がありますlogrotate.d
:
/var/log/ufw.log
{
rotate 7
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
変わりたい rotate nnn
からrotate 99
。 nnnが任意の桁数(通常は1または2)である必要がありますが、postrotate
行には影響しません。
私はこれら2つを試しましたが、必要なものはどちらも実行していません(nnnを1、2、または3桁でテストしました)。
Sudo sed 's/rotate[0-9]*/rotate 99/' /etc/logrotate.d/ufw
Sudo sed 's/^rotate[0-9]/rotate 99/' /etc/logrotate.d/ufw
sed 's/rotate [0-9]\+/rotate 99/'
http://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html
rotate[0-9]*
は、rotate
の後ろに0個以上の数字が続き、postrotate
の末尾と一致します。 rotate[0-9]
は1桁のみを置き換えます。さらに、rotate
の後にスペースがありません。これはあなたが望むことをするものだと思います。インデントされた行も処理します。
Sudo sed 's/^\( *rotate *\)[0-9][0-9]*/\1 99/' /etc/logrotate.d/ufw
-i
オプションをsed
に追加して、ファイルをその場で変更したい場合。