]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/mediawiki/templates/default/mediawiki-backup.cron.erb
Move mediawiki + wiki cookbook to public repo
[chef.git] / cookbooks / mediawiki / templates / default / mediawiki-backup.cron.erb
diff --git a/cookbooks/mediawiki/templates/default/mediawiki-backup.cron.erb b/cookbooks/mediawiki/templates/default/mediawiki-backup.cron.erb
new file mode 100755 (executable)
index 0000000..d4d473c
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+T=`mktemp -d -t -p /var/tmp mediawiki-<%= @name %>.XXXXXXXXXX`
+D=`date +%Y-%m-%d`
+B=wiki-<%= @name %>-$D.tar.gz
+
+mkdir $T/wiki-<%= @name %>-$D
+mysqldump --user="<%= @database_params[:username] %>" --password="<%= @database_params[:password] %>" --opt --skip-lock-tables --single-transaction "<%= @database_params[:name] %>" | xz -9c > $T/wiki-<%= @name %>-$D/wiki.sql.xz
+ln -s <%= @directory %>  $T/wiki-<%= @name %>-$D/www
+#make backup rsyncable
+GZIP="--rsyncable -9"
+export GZIP
+nice tar --create --gzip --dereference --directory=$T --file=$T/$B wiki-<%= @name %>-$D
+nice rsync $T/$B backup::backup --fuzzy
+
+rm -rf $T