diff options
Diffstat (limited to 'modules')
-rwxr-xr-x | modules/blog/templates/backup_blog-files.sh | 2 | ||||
-rw-r--r-- | modules/planet/manifests/init.pp | 26 | ||||
-rwxr-xr-x | modules/planet/templates/backup_planet-files.sh | 23 |
3 files changed, 50 insertions, 1 deletions
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 |