Merge "Add action for database backup"

This commit is contained in:
Jenkins 2017-03-20 12:27:06 +00:00 committed by Gerrit Code Review
commit f32a18db14
3 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,6 @@
FROM {{ image_spec("base-tools") }}
MAINTAINER {{ maintainer }}
RUN apt-get update \
&& apt-get install -y --force-yes --no-install-recommends mysql-client \
&& apt-get clean

View File

@ -0,0 +1,13 @@
actions:
- name: backup-db
image: mysql-client
dependencies:
- {{ serivce.database }}
parameters:
- key: db
default_value: null
command: /opt/ccp/bin/backup-db.sh
files:
- path: /opt/ccp/bin/backup-db.sh
content: backup-db.sh.j2
perm: "0700"

View File

@ -0,0 +1,12 @@
#!/bin/bash
set -ex
DB_NAME="{{ action_parameters.db }}"
BACKUP_FILE="/var/ccp/backup/${DB_NAME}/backup-$(date "+%Y%m%d%H%M%S").sql"
mkdir -p "$(dirname ${BACKUP_FILE})"
mysqldump {% if db.tls.enabled %} --ssl-mode REQUIRED {% endif %} -h {{ address(service.database) }} \
-uroot -p{{ db.root_password }} \
--single-transaction --routines --triggers "${DB_NAME}" > "${BACKUP_FILE}"