added healthcheck
This commit is contained in:
parent
9663e150c3
commit
fd3e93421d
@ -1,13 +1,13 @@
|
||||
FROM mariadb:10
|
||||
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -q -y cron sudo automysqlbackup
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -q -y cron sudo automysqlbackup
|
||||
|
||||
COPY mysql.cnf /etc/mysql/mariadb.conf.d/settings.cnf
|
||||
RUN chown mysql:mysql /etc/mysql/mariadb.conf.d/settings.cnf
|
||||
COPY docker-entrypoint.sh /usr/local/bin/
|
||||
COPY healthcheck.sh /usr/local/bin/
|
||||
COPY automysqlbackup /etc/default
|
||||
COPY sudoers /etc/sudoers.d/mysudoers
|
||||
|
||||
|
||||
#HEALTHCHECK
|
||||
|
||||
HEALTHCHECK CMD /usr/local/bin/healthcheck.sh
|
||||
|
21
README.md
21
README.md
@ -1,3 +1,24 @@
|
||||
[![Build Status](https://drone.asperti.com/api/badges/paspo/docker-mariadb-backup-slave/status.svg)](https://drone.asperti.com/paspo/docker-mariadb-backup-slave)
|
||||
|
||||
|
||||
# docker-mariadb-backup-slave
|
||||
|
||||
Setup a mariadb slave server with automysqlbackup
|
||||
|
||||
|
||||
## Parameters
|
||||
### SERVER_ID
|
||||
This is used to customize slave server ID. The default value is 33. You should use an unique ID for each server.
|
||||
### READONLY
|
||||
When set to **1**, the slave server is set as readonly. This is the default. If you set this variable to something different, the database will be read/write.
|
||||
### REPLICATE_DO_DB
|
||||
This is used to specify a single database to backup. It is generally advised to set this variable to the database name you want to backup.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$ docker exec some-mariadb sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql
|
||||
|
||||
|
||||
2019-11-24 10:57:24 0 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--log-basename=#' or '--relay-log=mysqld-relay-bin' to avoid this problem.
|
||||
|
8
healthcheck.sh
Executable file
8
healthcheck.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
RES=$(mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ',')
|
||||
if [ "$RES" = " Yes, Yes," ]; then
|
||||
exit 0
|
||||
fi
|
||||
exit 1
|
||||
|
Loading…
Reference in New Issue
Block a user