diff options
| -rw-r--r-- | docker/cron/Dockerfile.j2 | 3 | ||||
| -rw-r--r-- | docker/cron/extend_start.sh | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/docker/cron/Dockerfile.j2 b/docker/cron/Dockerfile.j2 index a5e65a21f..1da4d40ea 100644 --- a/docker/cron/Dockerfile.j2 +++ b/docker/cron/Dockerfile.j2 @@ -21,5 +21,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.install_packages(cron_packages | customizable("packages")) }} +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start + {% block cron_footer %}{% endblock %} {% block footer %}{% endblock %} diff --git a/docker/cron/extend_start.sh b/docker/cron/extend_start.sh new file mode 100644 index 000000000..7f78e8500 --- /dev/null +++ b/docker/cron/extend_start.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +CRON_LOGROTATE_CURRENT_PATH="$(find /etc/cron* -name logrotate)" +CRON_LOGROTATE_CURRENT_SCHEDULE=$(echo "${CRON_LOGROTATE_CURRENT_PATH}" | sed -r 's/(.*)(hourly|daily|weekly|monthly)(.*)/\2/g') + +# Pass only for hourly|daily|weekly|monthly +if [[ "${KOLLA_LOGROTATE_SCHEDULE:-undefined}" =~ hourly|daily|weekly|monthly ]]; then + + CRON_LOGROTATE_DESIRED_PATH="/etc/cron.${KOLLA_LOGROTATE_SCHEDULE}/logrotate" + + if [[ "${CRON_LOGROTATE_CURRENT_PATH}" != "${CRON_LOGROTATE_DESIRED_PATH}" ]]; then + mv ${CRON_LOGROTATE_CURRENT_PATH} ${CRON_LOGROTATE_DESIRED_PATH} + CRON_LOGROTATE_CURRENT_SCHEDULE="${KOLLA_LOGROTATE_SCHEDULE}" + fi +fi + +echo "[i] Cron schedule for logrotate is currently set to: ${CRON_LOGROTATE_CURRENT_SCHEDULE}." |
