@@ -16,10 +16,6 @@ export ETCD_PATH=${ETCD_PATH:-/deis/database}
1616export ETCD_TTL=${ETCD_TTL:- 20}
1717
1818export BUCKET_NAME=${BUCKET_NAME:- db_wal}
19- export BACKUPS_TO_RETAIN=${BACKUPS_TO_RETAIN:- 5}
20-
21- # how many TTL/2 sleeps between backups -- 2160 is 3 hours
22- export BACKUP_FREQUENCY=${BACKUP_FREQUENCY:- 2160}
2319
2420# wait for etcd to be available
2521until etcdctl --no-sync -C $ETCD ls > /dev/null 2>&1 ; do
@@ -125,9 +121,10 @@ if [[ "${initial_backup}" == "1" ]] ; then
125121 sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/9.3/main
126122fi
127123
124+ sudo -Eu postgres /app/bin/backup &
125+
128126echo " database: postgres is running..."
129127
130- count=1
131128# publish the service to etcd using the injected HOST and EXTERNAL_PORT
132129if [[ ! -z $EXTERNAL_PORT ]]; then
133130 # configure service discovery
@@ -143,23 +140,6 @@ if [[ ! -z $EXTERNAL_PORT ]]; then
143140 while [[ ! -z $( netstat -lnt | awk " \$ 6 == \" LISTEN\" && \$ 4 ~ \" .$PORT \" && \$ 1 ~ \" $PROTO .?\" " ) ]] ; do
144141 etcdctl --no-sync -C $ETCD set $ETCD_PATH /host $HOST --ttl $ETCD_TTL > /dev/null
145142 etcdctl --no-sync -C $ETCD set $ETCD_PATH /port $EXTERNAL_PORT --ttl $ETCD_TTL > /dev/null
146-
147- # perform a backup whenever we hit BACKUP_FREQUENCY
148- # we really need cron :(
149- if [[ " ${count} " -ge " ${BACKUP_FREQUENCY} " ]] ; then
150- echo " database: performing a backup..."
151- if [[ -f /var/lib/postgresql/9.3/main/recovery.conf ]] ; then
152- echo " database: database is currently recovering from a backup. Will try again next loop..."
153- else
154- # perform a backup
155- sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/9.3/main
156- # only retain the latest BACKUPS_TO_RETAIN backups
157- sudo -u postgres envdir /etc/wal-e.d/env wal-e delete --confirm retain ${BACKUPS_TO_RETAIN}
158- count=0
159- echo " database: backup has been completed."
160- fi
161- fi
162- (( count++ ))
163143 sleep $(( $ETCD_TTL / 2 )) # sleep for half the TTL
164144 done
165145
0 commit comments