]> git.openstreetmap.org Git - chef.git/blob - cookbooks/blog/templates/default/backup.cron.erb
Fail backup script on failures
[chef.git] / cookbooks / blog / templates / default / 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 osm-blog.XXXXXXXXXX)
10 D=$(date +%Y-%m-%d)
11 B="osm-blog-$D.tar.zst"
12
13 mkdir "$T/osm-blog-$D"
14 echo '[mysqldump]' > "$T/mysqldump.opts"
15 echo 'user=osm-blog-user' >> "$T/mysqldump.opts"
16 echo 'password=<%= @passwords["osm-blog-user"] %>' >> "$T/mysqldump.opts"
17 mysqldump --defaults-file="$T/mysqldump.opts" --opt --no-tablespaces --max-allowed-packet=1G osm-blog > "$T/osm-blog-$D/osm-blog.sql"
18 ln -s /srv/blog.openstreetmap.org "$T/osm-blog-$D/www"
19
20 nice tar --create --dereference --directory="$T" --sort=name --warning=no-file-changed "osm-blog-$D" | nice zstd --quiet --long --rsyncable -o "$T/$B"
21 nice rsync --preallocate --fuzzy "$T/$B" backup.openstreetmap.org::backup
22
23 rm -rf "$T"