]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/osqa/templates/default/backup.cron.erb
Bring OSQA backups under chef control
[chef.git] / cookbooks / osqa / templates / default / backup.cron.erb
diff --git a/cookbooks/osqa/templates/default/backup.cron.erb b/cookbooks/osqa/templates/default/backup.cron.erb
new file mode 100644 (file)
index 0000000..28b4a0f
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# DO NOT EDIT - This file is being maintained by Chef
+
+T=$(mktemp -d -t -p /var/tmp osqa.XXXXXXXXXX)
+D=$(date +%Y-%m-%d)
+B=<%= @name %>-$D.tar.gz
+
+mkdir $T/<%= @name %>-$D
+chown <%= @user %> $T
+chown <%= @user %> $T/osqa-$D
+sudo -u <%= @user %> pg_dump --format=custom --file=$T/<%= @name %>-$D/osqa.dmp <%= @database %>
+ln -s <%= @directory %>/upfiles $T/<%= @name %>-$D/upfiles
+
+export GZIP="--rsyncable -9"
+export RSYNC_RSH="ssh -ax -c arcfour"
+
+nice tar --create --gzip --dereference --directory=$T --file=$T/$B <%= @name %>-$D
+nice rsync $T/$B backup::backup
+
+rm -rf $T