From 48e26939b73d905f79640a4699c7d8e70f79a4ea Mon Sep 17 00:00:00 2001 From: Fabien BOURGEOIS Date: Sun, 17 May 2020 08:25:07 +0200 Subject: [PATCH] [ADD]Rsync, odoobackups CentOS7 --- backups/base.yml | 5 +++++ backups/rsyncvolumes/Dockerfile.c7 | 18 ++++++++++++++++++ backups/rsyncvolumes/launch.c7.sh | 5 +++++ odoo/backups/Dockerfile.c7 | 25 +++++++++++++++++++++++++ odoo/backups/launch.c7.sh | 23 +++++++++++++++++++++++ odoo/base.yml | 6 ++++++ 6 files changed, 82 insertions(+) create mode 100644 backups/rsyncvolumes/Dockerfile.c7 create mode 100644 backups/rsyncvolumes/launch.c7.sh create mode 100644 odoo/backups/Dockerfile.c7 create mode 100644 odoo/backups/launch.c7.sh diff --git a/backups/base.yml b/backups/base.yml index 090b609..35109cc 100644 --- a/backups/base.yml +++ b/backups/base.yml @@ -5,3 +5,8 @@ services: rsyncvolumes: build: ./rsyncvolumes image: registry.yaltik.net/rsyncvolumes:base + rsyncvolumesc7: + build: + context: ./rsyncvolumes + dockerfile: Dockerfile.c7 + image: registry.yaltik.net/rsyncvolumes:basec7 diff --git a/backups/rsyncvolumes/Dockerfile.c7 b/backups/rsyncvolumes/Dockerfile.c7 new file mode 100644 index 0000000..4c6d141 --- /dev/null +++ b/backups/rsyncvolumes/Dockerfile.c7 @@ -0,0 +1,18 @@ +FROM centos:7 +MAINTAINER Yaltik - Fabien Bourgeois + +ENV SOURCE /var/lib/docker/volumes +ENV DEST /var/backups/ + +RUN yum -y install gettext rsync cronie + +# Avoid overlayfs bug with tail +VOLUME /var/log + +WORKDIR /opt/backup +COPY crontab ./crontab +COPY rsync.template . +COPY plan.tpl.py . +COPY launch.c7.sh launch.sh + +CMD bash launch.sh diff --git a/backups/rsyncvolumes/launch.c7.sh b/backups/rsyncvolumes/launch.c7.sh new file mode 100644 index 0000000..847ffe3 --- /dev/null +++ b/backups/rsyncvolumes/launch.c7.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +envsubst < /opt/backup/rsync.template > /opt/backup/rsync.sh +envsubst < /opt/backup/plan.tpl.py > /opt/backup/plan.py +crontab ./crontab && touch /var/log/cron.log && crond && tail -f /var/log/cron.log diff --git a/odoo/backups/Dockerfile.c7 b/odoo/backups/Dockerfile.c7 new file mode 100644 index 0000000..8e4213f --- /dev/null +++ b/odoo/backups/Dockerfile.c7 @@ -0,0 +1,25 @@ +FROM registry.yaltik.net/odoocmd:yaltikc7 +MAINTAINER Yaltik - Fabien Bourgeois + +ENV ODOO_ADMIN_PASSWORD admin +ENV ODOO_DATABASES demo + +WORKDIR /home/odoo +USER root + +RUN mkdir backups +RUN yum install -y gettext cronie + +# Avoid overlayfs bug with tail +VOLUME /var/log + +COPY crontab ./crontab + +COPY backup.template . +COPY plan.py . +COPY launch.c7.sh launch.sh + +RUN chown -R odoo:odoo . +VOLUME /home/odoo/backups + +CMD bash launch.sh diff --git a/odoo/backups/launch.c7.sh b/odoo/backups/launch.c7.sh new file mode 100644 index 0000000..a2e997e --- /dev/null +++ b/odoo/backups/launch.c7.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -f +echo '#!/bin/bash' > /home/odoo/backup.sh +index=0 +IFS=':' read -ra ODOO_HOST <<< "$ODOO_HOST" +IFS=':' read -ra ODOO_ADMIN_PASSWORD <<< "$ODOO_ADMIN_PASSWORD" +IFS=':' read -ra ODOO_DATABASES <<< "$ODOO_DATABASES" +IFS=':' read -ra ODOO_FMT <<< "$ODOO_FMT" +IFS=':' read -ra ODOO_ALT <<< "$ODOO_ALT" +for host in "${ODOO_HOST[@]}" +do + HOST=${host} + ADMIN_PASSWORD=${ODOO_ADMIN_PASSWORD[$index]} + DATABASES=${ODOO_DATABASES[$index]} + FMT=${ODOO_FMT[$index]:='zip'} + ALT=${ODOO_ALT[$index]:='no'} + export HOST ADMIN_PASSWORD DATABASES FMT ALT + envsubst < /home/odoo/backup.template >> /home/odoo/backup.sh + ((index++)) +done +chown odoo:odoo /home/odoo/backup.sh +crontab ./crontab && touch /var/log/cron.log && crond && tail -f /var/log/cron.log diff --git a/odoo/base.yml b/odoo/base.yml index eaee045..a47fd81 100644 --- a/odoo/base.yml +++ b/odoo/base.yml @@ -120,3 +120,9 @@ services: build: context: ./backups image: registry.yaltik.net/odoobackup:yaltik + + odoobackupc7: + build: + context: ./backups + dockerfile: Dockerfile.c7 + image: registry.yaltik.net/odoobackup:yaltikc7