home · contact · privacy
6f9855219001bd07f344c77c5ed10eb334181595
[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 "${app}_backup"
16 mkdir "${app}_backup"
17
18 service "${app}" stop
19
20 su postgres -lc "pg_dump -d ${db_name} --format=custom -f /tmp/${app}_backup/${db_name}.pgdump"
21 for target in "$@"; do
22     cp -a "${target}" "${app}_backup${target}"
23 done
24 #for target in "$@"; do
25 #    prefix=$(echo "${target}" | cut -c-3)
26 #    if [ "${prefix}" = "DB:" ]; then
27 #        db_name=$(echo "${ŧarget}" | cut -c4-)
28 #    else
29 #        cp -a "${target}" "backup${target}"
30 #    fi
31 #done
32
33 tar cf "${app}_backup.tar" "${app}_backup"
34 rm -rf "${app}_backup"
35 chown plom:plom "${app}_backup.tar"
36 mv "${app}_backup.tar" /home/plom