From 5d9e86609337ee9658af1bb991d0927f03c35a05 Mon Sep 17 00:00:00 2001 From: Damien Lallement Date: Wed, 30 Mar 2011 12:50:48 +0000 Subject: add backup for planet and fix typo on backup-files for blog --- modules/blog/templates/backup_blog-files.sh | 2 +- modules/planet/manifests/init.pp | 26 +++++++++++++++++++++++++ modules/planet/templates/backup_planet-files.sh | 23 ++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100755 modules/planet/templates/backup_planet-files.sh (limited to 'modules') diff --git a/modules/blog/templates/backup_blog-files.sh b/modules/blog/templates/backup_blog-files.sh index 5b009662..705098d6 100755 --- a/modules/blog/templates/backup_blog-files.sh +++ b/modules/blog/templates/backup_blog-files.sh @@ -4,7 +4,7 @@ PATH_TO_FILE=${PATH_TO_FILE:-/var/lib/blog/backup} [ ! -f $PATH_TO_FILE/count ] && echo 0 > $PATH_TO_FILE/count COUNT=$(cat "$PATH_TO_FILE/count") -# Backup each locale DB +# Backup each locale for locale in de el en es fr it nl pl pt ro ru tr do if [ ! -d $PATH_TO_FILE/$locale ] diff --git a/modules/planet/manifests/init.pp b/modules/planet/manifests/init.pp index 69599bb1..e1e59272 100644 --- a/modules/planet/manifests/init.pp +++ b/modules/planet/manifests/init.pp @@ -45,5 +45,31 @@ class planet { package { ['php-iconv']: ensure => installed + } + + class files_backup inherits base { + file { "/var/lib/planet/backup": + ensure => directory, + owner => root, + group => root, + mode => 644, + } + + file { "backup_planet-files": + path => "/usr/local/bin/backup_planet-files.sh", + ensure => present, + owner => root, + group => root, + mode => 755, + content => template("blog/backup_planet-files.sh") + } + + cron { "Backup files (planet)": + user => root, + hour => '23', + minute => '42', + command => "/usr/local/bin/backup_planet-files.sh", + require => [File["backup_planet-files"]], + } } } diff --git a/modules/planet/templates/backup_planet-files.sh b/modules/planet/templates/backup_planet-files.sh new file mode 100755 index 00000000..45b15596 --- /dev/null +++ b/modules/planet/templates/backup_planet-files.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# Initialization +PATH_TO_FILE=${PATH_TO_FILE:-/var/lib/planet/backup} +[ ! -f $PATH_TO_FILE/count ] && echo 0 > $PATH_TO_FILE/count +COUNT=$(cat "$PATH_TO_FILE/count") +# Backup each locale +for locale in de en es fr it pl +do + if [ ! -d $PATH_TO_FILE/$locale ] + then + /bin/mkdir $PATH_TO_FILE/$locale + fi + rsync -aHP --delete /var/www/html/planet.<%= domain %>/$locale $PATH_TO_FILE/$locale/$locale-$COUNT +done +# Check count file to have a week of backup in the directory +if [ $COUNT -ne 6 ] +then + COUNT=$(expr $COUNT + 1) +else + COUNT="0" +fi +echo $COUNT > $PATH_TO_FILE/count -- cgit v1.2.1