AWS-Elastic-BeanstalkでJava 7 with Tomcat 7 version 1.4.1 と Java 7 with Tomcat 7 version 2.0.8 両方に対応した形でlogrotateの設定を書き換える方法

Java 7 with Tomcat 7 version 1.4.4 でlogrotateのパスが変わった宣言がされています。

https://aws.amazon.com/releasenotes/AWS-Elastic-Beanstalk/5819471886940272

Log rotation configuration files have been moved from /etc/logrotate.d to /etc/logrotate.elasticbeanstalk.hourly to prevent chron from running the files both daily and hourly (BEANSTALK-5013).

デプロイするアプリケーション内の設定と環境の設定の組み合わせによってはお互いに影響しあってアップデートができなくなる場合があります。

両方に対応した形で書く場合は以下のようにすればよさそうです。

commands:
  update-logrotate-tomcat7:
    command: |
      if [ -f /etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.tomcat7.conf ]; then
        sed -i -e "s|^size .*|size 1|g" /etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.tomcat7.conf
      fi
      if [ -f /etc/logrotate.d/logrotate.elasticbeanstalk.tomcat7.conf ]; then
        sed -i -e "s|^size .*|size 1|g" /etc/logrotate.d/logrotate.elasticbeanstalk.tomcat7.conf
      fi

なおTomcat Platform Historyは以下にまとまっっています。

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platform-history-java.html