Merge "Add action for database backup"
This commit is contained in:
commit
f32a18db14
|
@ -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
|
|
@ -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"
|
|
@ -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}"
|
Loading…
Reference in New Issue