]> git.openstreetmap.org Git - chef.git/blob - cookbooks/mediawiki/templates/default/mediawiki-backup.cron.erb
build(deps): bump test-kitchen from 3.9.0 to 3.9.1
[chef.git] / cookbooks / mediawiki / templates / default / mediawiki-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 "mediawiki-<%= @name %>.XXXXXXXXXX")
10 D=$(date +%Y-%m-%d)
11 B="wiki-<%= @name %>-$D.tar.zst"
12
13 mkdir "$T/wiki-<%= @name %>-$D"
14 echo '[mysqldump]' > "$T/mysqldump.opts"
15 echo 'user=<%= @database_params[:username] %>' >> "$T/mysqldump.opts"
16 echo 'password=<%= @database_params[:password] %>' >> "$T/mysqldump.opts"
17 mysqldump --defaults-file="$T/mysqldump.opts" --opt --skip-lock-tables --single-transaction --no-tablespaces --max-allowed-packet=1G "<%= @database_params[:name] %>" | zstd --quiet --long --rsyncable -o "$T/wiki-<%= @name %>-$D/wiki.sql.zst"
18 ln -s "<%= @directory %>" "$T/wiki-<%= @name %>-$D/www"
19
20 nice tar --create --dereference --directory="$T" --warning=no-file-changed --warning=no-file-removed \
21   --exclude="wiki-<%= @name %>-$D/www/w/images/thumb" \
22   --exclude="wiki-<%= @name %>-$D/www/w/.git" \
23   --exclude="wiki-<%= @name %>-$D/www/w/extensions/*/.git" \
24   --exclude="wiki-<%= @name %>-$D/www/dump" \
25   --sort=name \
26   "wiki-<%= @name %>-$D" | nice zstd --quiet --long --rsyncable -o "$T/$B"
27 nice rsync --preallocate --fuzzy "$T/$B" backup.openstreetmap.org::backup
28
29 rm -rf "$T"