From 92792670f025bead1bf69f234d44cdcfa5c4dd15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com> Date: Fri, 22 Apr 2011 09:31:58 +0000 Subject: [PATCH] - install logrotate and setup its cron entry - put cron configuration in etc directory git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@45631 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../erp5/src/slapos/recipe/erp5/__init__.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/slapos/recipe/erp5/src/slapos/recipe/erp5/__init__.py b/slapos/recipe/erp5/src/slapos/recipe/erp5/__init__.py index 2200e1f3af..6b15c6e5ea 100644 --- a/slapos/recipe/erp5/src/slapos/recipe/erp5/__init__.py +++ b/slapos/recipe/erp5/src/slapos/recipe/erp5/__init__.py @@ -54,6 +54,7 @@ class Recipe(BaseSlapRecipe): self.requirements, self.ws = self.egg.working_set([__name__]) # self.cron_d is a directory, where cron jobs can be registered self.cron_d = self.installCrond() + self.logrotate_d = self.installLogrotate() ca_conf = self.installCertificateAuthority() memcached_conf = self.installMemcached(ip=self.getLocalIPv4Address(), port=11000) @@ -88,6 +89,19 @@ class Recipe(BaseSlapRecipe): )) return self.path_list + def installLogrotate(self): + """Installs logortate main configuration file and registers its to cron""" + logrotate_d = os.path.abspath(os.path.join(self.etc_directory, + 'logrotate.d')) + self._createDirectory(logrotate_d) + logrotate_conf = self.createConfigurationFile("logrotate.conf", + "include %s" % logrotate_d) + logrotate_cron = os.path.join(self.cron_d, 'logrotate') + state_file = os.path.join(self.data_root_directory, 'logrotate.status') + open(logrotate_cron, 'w').write('0 0 * * * %s -s %s %s' % (self.options['logrotate_binary'], state_file, logrotate_conf)) + self.path_list.extend([logrotate_d, logrotate_conf, logrotate_cron]) + return logrotate_d + def linkBinary(self): """Links binaries to instance's bin directory for easier exposal""" for linkline in self.options.get('link_binary_list', '').splitlines(): @@ -234,8 +248,8 @@ class Recipe(BaseSlapRecipe): def installCrond(self): timestamps = self.createDataDirectory('cronstamps') - cron_d = os.path.join(self.var_directory, 'cron.d') - crontabs = os.path.join(self.var_directory, 'crontabs') + cron_d = os.path.join(self.etc_directory, 'cron.d') + crontabs = os.path.join(self.etc_directory, 'crontabs') logfile = os.path.join(self.log_directory, 'cron.log') self._createDirectory(cron_d) self._createDirectory(crontabs) -- 2.30.9