annotate scripts/.functions.sh @ 317:146c0c263cf9

adding project to remote backup scripts target
author aldrich@ssdt-ohio.org
date Wed, 30 Oct 2019 13:28:14 +0100
parents d6d8468441b1
children
rev   line source
55
77ff739c078d add script to provide shortened docker ps with ssdt labels
smith@nwoca.org
parents:
diff changeset
1 #!/bin/bash
143
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
2 getScriptDir() {
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
3 SOURCE="${BASH_SOURCE[0]}"
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
4 while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
5 echo $( cd $( dirname $SOURCE) && pwd )
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
6 }
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
7
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
8 if [ "$SSDT_HOME" == "" ]
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
9 then
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
10 export SSDT_SCRIPTS=$(getScriptDir)
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
11 export SSDT_HOME=$(dirname $SSDT_SCRIPTS)
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
12 fi
61
cc997ae758c6 add process summary and list
smith@nwoca.org
parents: 59
diff changeset
13
190
c3587159637f DEP-12: fix if expression
smith@nwoca.org
parents: 189
diff changeset
14 if [ "$(which docker-compose)" == "" ]
189
1a8087653f2a DEP-12: add docker-compse path if compose not found
smith@nwoca.org
parents: 157
diff changeset
15 then
1a8087653f2a DEP-12: add docker-compse path if compose not found
smith@nwoca.org
parents: 157
diff changeset
16 PATH="${PATH}:/usr/local/bin"
1a8087653f2a DEP-12: add docker-compse path if compose not found
smith@nwoca.org
parents: 157
diff changeset
17 fi
1a8087653f2a DEP-12: add docker-compse path if compose not found
smith@nwoca.org
parents: 157
diff changeset
18
157
018f62da1931 DEP-12: add docker version. prevent pulling updates for dangling images
smith@nwoca.org
parents: 144
diff changeset
19 export SSDT_DOCKER_VERSION=$(docker version --format '{{.Server.Version}}')
018f62da1931 DEP-12: add docker version. prevent pulling updates for dangling images
smith@nwoca.org
parents: 144
diff changeset
20
73
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
21 # deletes psql data from specified service
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
22 resetDbVolume() {
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
23 # Works for named and unnamed volumes and custom $PGDATA.
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
24 # Container must be stopped
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
25 service=${1?Must supply db service to reset}
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
26 container=$(composeGetContainer $service)
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
27 if [ "$container" != "" ]
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
28 then
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
29 echo "deleting db data from $container"
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
30 docker-compose run --no-deps --rm $service bash -c "rm -rf \${PGDATA?Missing PGDATA env}"
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
31 fi
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
32 }
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
33
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
34 # finds docker container for specified compose service
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
35 composeGetContainer() {
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
36 service=${1?"Must supply service from current project"}
279
d6d8468441b1 use container id's and inspect to derive projet and container names
smith@nwoca.org
parents: 266
diff changeset
37 container=$( docker-compose ps -q $service | xargs docker inspect -f '{{.Name}}' | cut -d "/" -f 2 )
73
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
38 echo $container
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
39 }
79
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
40
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
41 executeSQL() {
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
42 service=${1?Must supply db service to execute against}
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
43 container=$(composeGetContainer $service)
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
44
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
45 echo "$2" | docker exec -i $container sh -c "gosu postgres psql \$DB_NAME"
85
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
46 }
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
47
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
48 composeGetProject() {
279
d6d8468441b1 use container id's and inspect to derive projet and container names
smith@nwoca.org
parents: 266
diff changeset
49 project=$(docker-compose ps -q | tail -n1 | xargs docker inspect -f "{{ index .Config.Labels \"com.docker.compose.project\"}}" )
266
b72855a930f1 simplify method of getting project name
smith@nwoca.org
parents: 190
diff changeset
50 echo $project
85
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
51 }