| #!/bin/bash |
| |
| test -z "${FILEPATH}" && FILEPATH=/var/data/db/master_dump.sql |
| mkdir -p $(dirname "${FILEPATH}") |
| useradd gerrit -u 1000 -g users |
| chown -R gerrit:users /var/data/db |
| rm -f ${FILEPATH} || echo "File did not exist yet." |
| |
| getTimeFromLastChange() { |
| lastAccess=$(stat --format=%Y ${FILEPATH}) |
| now=$(date +%s) |
| timePassed=$((now - lastAccess)) |
| echo ${timePassed} |
| } |
| |
| echo "$(date): Started" |
| echo "Waiting for database dump file at ${FILEPATH}" |
| while ! test -f ${FILEPATH}; do |
| sleep 1 |
| done |
| echo "$(date): File appeared" |
| |
| echo "Waiting for the copy process to finish." |
| while [ "$(getTimeFromLastChange ${FILEPATH})" -lt 5 ]; do |
| sleep 1 |
| done |
| echo "$(date): Database dump received" |
| |
| # Load database dump into database |
| mysql -h ${MYSQL_HOST} -P${MYSQL_PORT} -u root -p${MYSQL_ROOT_PASSWORD} < ${FILEPATH} |
| |
| # Configure and start database slave |
| mysql -h ${MYSQL_HOST} -P${MYSQL_PORT} -u root -p${MYSQL_ROOT_PASSWORD} \ |
| -e "set @replpwd='${REPL_PASSWORD}'; source /var/sql/initialize-slave.sql;" |