3m: be verbose on errors

This commit is contained in:
Benjamin Dauvergne 2016-06-18 09:21:01 +02:00
parent ce235ceac8
commit e156e13cf4
1 changed files with 35 additions and 20 deletions

View File

@ -1,27 +1,42 @@
#!/bin/bash
set -x -e
cd ~/publik-bi/3m/
export PLATFORM=${PLATFORM:-prod}
DB=auquotidien-bi
TEMPDB=$DB-temp
set -e
STDOUT=`tempfile`
STDERR=`tempfile`
TEMP_DUMP=`tempfile`
trap "rm -f $TEMP_DUMP" INT TERM EXIT
dropdb $TEMPDB || true
createdb $TEMPDB
pg_dump -Oc auquotidien >$TEMP_DUMP
psql $TEMPDB -f $TEMP_DUMP
psql $TEMPDB -f 3m_$PLATFORM.sql
# minimize downtime
/sbin/start-stop-daemon --stop --pidfile slicer-$PLATFORM.pid --oknodo --retry 5
psql -c "ALTER DATABASE \"$DB\" RENAME TO \"$DB-old\"" auquotidien
psql -c "ALTER DATABASE \"$TEMPDB\" RENAME TO \"$DB\"" auquotidien
/sbin/start-stop-daemon --start --background --make-pidfile \
--pidfile slicer-$PLATFORM.pid --oknodo --startas ./run-slicer.sh \
--chdir .
dropdb $DB-old
(
set -x
cd ~/publik-bi/3m/
export PLATFORM=${PLATFORM:-prod}
DB=auquotidien-bi
TEMPDB=$DB-temp
trap "rm -f $TEMP_DUMP $LOGFILE" INT TERM EXIT
dropdb $TEMPDB || true
createdb $TEMPDB
pg_dump -O auquotidien >$TEMP_DUMP
psql $TEMPDB -f $TEMP_DUMP
psql $TEMPDB -f 3m_$PLATFORM.sql
# minimize downtime
/sbin/start-stop-daemon --stop --pidfile slicer-$PLATFORM.pid --oknodo --retry 5
psql -c "ALTER DATABASE \"$DB\" RENAME TO \"$DB-old\"" auquotidien
psql -c "ALTER DATABASE \"$TEMPDB\" RENAME TO \"$DB\"" auquotidien
/sbin/start-stop-daemon --start --background --make-pidfile \
--pidfile slicer-$PLATFORM.pid --oknodo --startas ./run-slicer.sh \
--chdir .
dropdb $DB-old
) >$STDOUT 2>$STDERR
if [[ "$?" != "0" ]]; then
S=$?
cat $STDOUT
cat $STDERR
echo Exited with status $S
fi