]> git.openstreetmap.org Git - chef.git/blob - cookbooks/chef/templates/default/server-backup.cron.erb
Fail backup script on failures
[chef.git] / cookbooks / chef / templates / default / server-backup.cron.erb
1 #!/bin/bash
2
3 # DO NOT EDIT - This file is being maintained by Chef
4 set -euo pipefail
5
6 export ZSTD_CLEVEL=11
7 export ZSTD_NBTHREADS=0
8
9 T=$(mktemp -d -t -p /var/tmp chef-server.XXXXXXXXXX)
10 D=$(date +%Y-%m-%d)
11 B="chef-server-$D.tar.zst"
12
13 mkdir "$T/chef-server-$D"
14 chgrp opscode-pgsql "$T" "$T/chef-server-$D"
15 chmod g+rwx "$T" "$T/chef-server-$D"
16 sudo -u opscode-pgsql /opt/opscode/embedded/bin/pg_dumpall --file="$T/chef-server-$D/chef.dmp" --clean
17 ln -s /var/opt/opscode/bookshelf/data "$T/chef-server-$D/bookshelf"
18
19 nice tar --create --dereference --directory="$T" --sort=name "chef-server-$D" | nice zstd --quiet --long --rsyncable -o "$T/$B"
20 nice rsync --preallocate --fuzzy "$T/$B" backup.openstreetmap.org::backup
21
22 rm -rf "$T"