home · contact · privacy
Experimental refactor of migration scripts.
[config] / buster / setup_scripts / backup_app.sh
1 #!/bin/sh
2 set -e
3 set -x
4
5 if [ "$#" -lt 3 ]; then
6     echo 'Need at least three arguments: service name, DB name, and backup directory names.'
7     #echo 'Need at least two arguments: service name and backup directory or (prefixed with "db:") DB names.'
8     false
9 fi
10 app="$1"
11 db_name="$2"
12 shift 2
13
14 cd /tmp
15 rm -rf "/tmp/${app}_backup"
16
17 app "${app}" stop
18
19 su postgres -lc "pg_dump -d ${db_name} --format=custom -f ${app}_backup/pgdump"
20 for target in "$@"; do
21     cp -a "${target}" "${app}_backup${target}"
22 done
23 #for target in "$@"; do
24 #    prefix=$(echo "${target}" | cut -c-3)
25 #    if [ "${prefix}" = "DB:" ]; then
26 #        db_name=$(echo "${ŧarget}" | cut -c4-)
27 #    else
28 #        cp -a "${target}" "backup${target}"
29 #    fi
30 #done
31
32 tar cf "${app}_backup.tar" "${app}_backup"
33 rm -rf "${app}_backup"
34 chown plom:plom "${app}_backup.tar"
35 mv "${app}_backup.tar" /home/plom