In xvm-db-backup:
[invirt/packages/xvm-db-backup.git] / xvm-db-backup
1 #!/bin/bash
2
3 set -e
4
5 kinit -k "daemon/$(hostname -f)"
6 aklog sipb
7
8 db_filename="/mit/xvm/backups/db/prod/$(date +%Y/%m/%d.%H%M.sql.gz)"
9 mkdir -p "$(dirname $db_filename)"
10
11 exclude=()
12 if invirt-getconf db.backup_exclude &>/dev/null; then
13     for i in invirt-getconf -l db.backup_exclude; do
14         exclude=("${exclude[@]}" -T "$(invirt-getconf "db.backup_exclude.$i")")
15     done
16 fi
17 /usr/bin/pg_dump -U "$(invirt-getconf db.user)" \
18                  -h "$(invirt-getconf db.host)" \
19                  "${exclude[@]}" \
20                  "$(invirt-getconf db.dbname)" | gzip - >"$db_filename"
21
22 running_filename="/mit/xvm/log/running/prod/$(date +%Y/%m/%d.%H%M.gz)"
23 mkdir -p "$(dirname $running_filename)"
24
25 remctl "$(invirt-getconf remote.hostname)" web listvms | gzip - >"$running_filename"