home · contact · privacy
Add redo blog URL catcher.
[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     false
8 fi
9 app="$1"
10 db_name="$2"
11 shift 2
12
13 cd /tmp
14 rm -rf "${app}_backup"
15 mkdir "${app}_backup"
16 chmod 777 "${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     mkdir -p $(dirname "${app}_backup${target}")
23     cp -a "${target}" "${app}_backup${target}"
24 done
25
26 tar cf "${app}_backup.tar" "${app}_backup"
27 rm -rf "${app}_backup"
28 chown plom:plom "${app}_backup.tar"
29 mv "${app}_backup.tar" /home/plom