1
0
mirror of https://github.com/krislamo/puppet-rsnapshot synced 2025-09-13 07:49:29 +00:00

7 Commits

Author SHA1 Message Date
Oleg Ginzburg
0ec04544fd Merge pull request #1 from loomsen/test_travis
Fix travis checks
2018-10-20 15:02:57 +03:00
Norbert Varzariu
905d856219 fix dependency (version bounds) for concat module 2018-10-20 11:23:58 +02:00
Norbert Varzariu
63214c6919 bump rvm version to 2.3 2018-10-20 10:36:19 +02:00
Norbert Varzariu
65f4a883de bump ruby version in travis.yml 2018-10-20 10:18:37 +02:00
olevole
3043196a2e Merge branch 'master' of github.com:olevole/puppet-rsnapshot 2018-10-14 06:52:50 +03:00
olevole
4202b1ae94 add FreeBSD support
changes for FreeBSD are trivial and mainly relate to
an alternative path to configuration and executable files.
So, the standard way for 3rd-party config files in FreeBSD:
  /usr/local/etc{/rsnapshot}
and for binaries:
  /usr/local
Also, define @cmd_rsnapshot in cron.erb via config_cmd_rsnapshot
2018-10-14 06:52:39 +03:00
olevole
100eafe356 add FreeBSD support
changes for FreeBSD are trivial and mainly relate to
an alternative path to configuration and executable files.
So, the standard way for 3rd-party config files in FreeBSD:
  /usr/local/etc{/rsnapshot}
and for binaries:
  /usr/local
Also, define @cmd_rsnapshot in cron.erb via config_cmd_rsnapshot
2018-10-14 06:36:46 +03:00
5 changed files with 33 additions and 18 deletions

View File

@@ -5,17 +5,16 @@ cache: bundler
matrix:
fast_finish: true
include:
- rvm: 2.1
- rvm: 2.3
env: PUPPET_GEM_VERSION="~> 4.0"
script: "bundle exec rake validate"
- rvm: 2.1
- rvm: 2.3
env: PUPPET_GEM_VERSION="~> 4.0"
script: "bundle exec rake spec SPEC_OPTS='--format documentation'"
- rvm: 2.1
- rvm: 2.3
env: PUPPET_GEM_VERSION="~> 4.0"
script: "bundle exec rake beaker"
services: docker
sudo: required
notifications:
email: false

View File

@@ -190,6 +190,8 @@ class rsnapshot::config (
# create cron files for each backup level
# merge possible cron definitions to one
$real_cron = deep_merge($rsnapshot::params::cron, $rsnapshot::cron, $hash[cron])
$cmd_rsnapshot = pick($rsnapshot::cmd_rsnapshot, $rsnapshot::params::config_cmd_rsnapshot)
concat::fragment { "mailto for ${host}":
content => "#This file is managed by puppet\nMAILTO=${real_cron[mailto]}\n\n",
target => $cronfile,
@@ -197,12 +199,12 @@ class rsnapshot::config (
}
$backup_levels.each |String $level| {
$mailto = $real_cron[mailto]
$minute = rand_from_array($real_cron[$level][minute], "${host}.${level}.minute")
$hour = rand_from_array($real_cron[$level][hour], "${host}.${level}.hour")
$monthday = rand_from_array($real_cron[$level][monthday], "${host}.${level}.monthday")
$month = rand_from_array($real_cron[$level][month], "${host}.${level}.month")
$weekday = rand_from_array($real_cron[$level][weekday], "${host}.${level}.weekday")
$mailto = $real_cron[mailto]
$minute = rand_from_array($real_cron[$level][minute], "${host}.${level}.minute")
$hour = rand_from_array($real_cron[$level][hour], "${host}.${level}.hour")
$monthday = rand_from_array($real_cron[$level][monthday], "${host}.${level}.monthday")
$month = rand_from_array($real_cron[$level][month], "${host}.${level}.month")
$weekday = rand_from_array($real_cron[$level][weekday], "${host}.${level}.weekday")
concat::fragment { "${host}.${level}":
target => $cronfile,

View File

@@ -3,14 +3,18 @@
# default params
class rsnapshot::params {
$hosts = undef
$conf_d = '/etc/rsnapshot' # the place where the host specific configs are stored
$conf_d = $::osfamily ? {
'FreeBSD' => '/usr/local/etc/rsnapshot', # the place where the host specific configs are stored
default => '/etc/rsnapshot,' # the place where the host specific configs are stored
}
$config_backup_user = 'root'
$package_name = 'rsnapshot'
$package_ensure = 'present'
$cron_service_name = $::osfamily ? {
'RedHat' => 'crond',
'Debian' => 'cron',
default => '',
'RedHat' => 'crond',
'Debian' => 'cron',
'FreeBSD' => 'cron',
default => '',
}
$manage_cron = true
$cron_dir = '/etc/cron.d'
@@ -20,11 +24,21 @@ class rsnapshot::params {
$config_check_mk_job = false
$config_cmd_cp = '/bin/cp'
$config_cmd_rm = '/bin/rm'
$config_cmd_rsync = '/usr/bin/rsync'
$config_cmd_rsync = $::osfamily ? {
'FreeBSD' => '/usr/local/bin/rsync',
default => '/usr/bin/rsync',
}
$config_cmd_ssh = '/usr/bin/ssh'
$config_cmd_logger = '/usr/bin/logger'
$config_cmd_du = '/usr/bin/du'
$config_cmd_rsnapshot_diff = '/usr/bin/rsnapshot-diff'
$config_cmd_rsnapshot = $::osfamily ? {
'FreeBSD' => '/usr/local/bin/rsnapshot',
default => '/usr/bin/rsnapshot',
}
$config_cmd_rsnapshot_diff = $::osfamily ? {
'FreeBSD' => '/usr/local/bin/rsnapshot-diff',
default => '/usr/bin/rsnapshot-diff',
}
$config_cmd_preexec = undef
$config_cmd_postexec = undef
$config_cronfile_prefix = 'rsnapshot_'

View File

@@ -15,7 +15,7 @@
"dependencies": [
{ "name": "puppetlabs-stdlib","version_requirement": ">= 1.0.0" },
{ "name": "stahnma-epel","version_requirement": ">= 1.0.0" },
{ "name": "puppetlabs-concat","version_requirement": ">= 2.0.0 < 3.0.0" }
{ "name": "puppetlabs-concat","version_requirement": ">= 2.0.0" }
],
"operatingsystem_support": [
{

View File

@@ -1 +1 @@
<%= @minute %> <%= @hour %> <%= @monthday %> <%= @month %> <%= @weekday %> root<% if scope['rsnapshot::check_mk_job'] == true -%> mk-job rsnapshot_<%= @host %>_<%= @level %><% end -%> /usr/bin/rsnapshot -c <%= @config %> <%= @level %>
<%= @minute %> <%= @hour %> <%= @monthday %> <%= @month %> <%= @weekday %> root<% if scope['rsnapshot::check_mk_job'] == true -%> mk-job rsnapshot_<%= @host %>_<%= @level %><% end -%> <%= @cmd_rsnapshot %> -c <%= @config %> <%= @level %>