summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README12
-rw-r--r--manifests/cron/base.pp16
2 files changed, 28 insertions, 0 deletions
diff --git a/README b/README
index a84b510..88eef47 100644
--- a/README
+++ b/README
@@ -186,12 +186,24 @@ apt::cron::download
This class sets up cron-apt so that it downloads upgradable packages, does not
actually do any upgrade and emails when the output changes.
+cron-apt defaults to run at 4 AM. You may want to set the
+$apt_cron_hours variable before you include the class: its value will
+be passed as the "hours" parameter of a cronjob. Example:
+
+ # Run cron-apt every three hours
+ $apt_cron_hours = "*/3"
+
+Note that the default 4 AM cronjob won't be disabled.
+
apt::cron::dist-upgrade
-----------------------
This class sets up cron-apt so that it dist-upgrades the system and
emails when upgrades are performed.
+See apt::cron::download above if you need to run cron-apt more often
+than once a day.
+
apt::dselect
------------
diff --git a/manifests/cron/base.pp b/manifests/cron/base.pp
index de55772..7ccfce6 100644
--- a/manifests/cron/base.pp
+++ b/manifests/cron/base.pp
@@ -1,4 +1,20 @@
class apt::cron::base {
package { cron-apt: ensure => installed }
+
+ case $apt_cron_hours {
+ '': {}
+ default: {
+ # cron-apt defaults to run every night at 4 o'clock
+ # so we try not to run at the same time.
+ cron { 'apt_cron_every_N_hours':
+ command => 'test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt',
+ user => root,
+ hour => "${apt_cron_hours}",
+ minute => 10,
+ require => Package['cron-apt'],
+ }
+ }
+ }
+
}