Adding logrotate to nixos. Not a very clever logrotate, though:

options 'enable' (cronjob every hour) and the config flie contents passed
as a string.


svn path=/nixos/trunk/; revision=21438
wip/yesman
Lluís Batlle i Rossell 14 years ago
parent a4516ec98a
commit b47c2186f6
  1. 1
      modules/module-list.nix
  2. 38
      modules/services/logging/logrotate.nix

@ -53,6 +53,7 @@
./services/hardware/pcscd.nix
./services/hardware/udev.nix
./services/logging/klogd.nix
./services/logging/logrotate.nix
./services/logging/syslogd.nix
./services/mail/dovecot.nix
./services/mail/postfix.nix

@ -0,0 +1,38 @@
{config, pkgs, ...}:
with pkgs.lib;
let
cfg = config.services.logrotate;
configFile = pkgs.writeText "logrotate.conf"
cfg.config;
cronJob = ''
5 * * * * ${pkgs.logrotate}/sbin/logrotate ${configFile}
'';
in
{
options = {
services.logrotate = {
enable = mkOption {
default = false;
description = ''
Enable the logrotate cron job
'';
};
config = mkOption {
default = "";
description = ''
The contents of the logrotate config file
'';
};
};
};
config = mkIf cfg.enable {
services.cron.systemCronJobs = [ cronJob ];
};
}
Loading…
Cancel
Save