From: Tom Hughes Date: Sun, 23 Jun 2013 18:26:05 +0000 (+0100) Subject: Bring stateofthemap backup script under chef control X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/8eb2c1d74e2a81950469412a4b73d9c31a08a8fa Bring stateofthemap backup script under chef control --- diff --git a/cookbooks/stateofthemap/recipes/default.rb b/cookbooks/stateofthemap/recipes/default.rb index 49349a9fb..58258be93 100644 --- a/cookbooks/stateofthemap/recipes/default.rb +++ b/cookbooks/stateofthemap/recipes/default.rb @@ -228,3 +228,11 @@ end wordpress_plugin "wp-sticky" do site "2012.stateofthemap.org" end + +template "/etc/cron.daily/sotm-backup" do + source "backup.cron.erb" + owner "root" + group "root" + mode 0750 + variable :passwords => passwords +end diff --git a/cookbooks/stateofthemap/templates/default/backup.cron.erb b/cookbooks/stateofthemap/templates/default/backup.cron.erb new file mode 100644 index 000000000..45aafad26 --- /dev/null +++ b/cookbooks/stateofthemap/templates/default/backup.cron.erb @@ -0,0 +1,27 @@ +#!/bin/sh + +# DO NOT EDIT - This file is being maintained by Chef + +T=$(mktemp -d -t -p /var/tmp sotm.XXXXXXXXXX) +D=$(date +%Y-%m-%d) +B=sotm-$D.tar.gz + +mkdir $T/sotm-$D + +<% 2007.upto(2012) do |year| -%> +mysqldump --user=sotm<%= year %> --password=<%= @passwords["sotm#{year}"] %> --opt sotm<%= year %> > $T/sotm-$D/sotm<%= year %>.sql +<% end -%> + +ln -s /srv/2007.stateofthemap.org $T/sotm-$D/www2007 +ln -s /srv/2008.stateofthemap.org $T/sotm-$D/www2008 +ln -s /srv/2009.stateofthemap.org $T/sotm-$D/www2009 +ln -s /srv/2010.stateofthemap.org $T/sotm-$D/www2010 +ln -s /srv/2011.stateofthemap.org $T/sotm-$D/www2011 +ln -s /srv/2012.stateofthemap.org $T/sotm-$D/www2012 + +export GZIP="--rsyncable -9" + +nice tar --create --gzip --dereference --directory=$T --file=$T/$B sotm-$D +nice nice $T/$B backup::backup + +rm -rf $T