logrotate外卡的价值

时间:2018-06-13 21:29:55

标签: wildcard logrotate

我们说我有一个logrotate配置文件,如下所示:

prerotate

echo中,我想执行一个命令,我需要知道通配符的值。为了这个问题,让我们说我的命令非常简单,只是通配符值的func drawImageInRect(inputImage: UIImage, inRect imageRect: CGRect) -> UIImage { UIGraphicsBeginImageContext(self.size) self.draw(in:(CGRect(x:0.0, y:0.0, width:self.size.width, height:self.size.height))) inputImage.draw(in:(imageRect)) let newImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return newImage! }

如何在不为通配符的每个可能值创建单独的配置定义的情况下执行此操作?有没有办法指出通配符的值?

1 个答案:

答案 0 :(得分:1)

要为每个文件运行prerotate而不是为整个组运行一次​​,您需要添加nosharedscripts选项。然后将文件的名称作为第一个参数传递给脚本,因此如果您有像

这样的脚本
#!/usr/bin/env bash
echo "$1"

然后你应该能够使用它:

"/data/logs/*.log" {
  daily
  rotate 5
  compress
  missingok
  notifempty
  nosharedscripts
  prerotate
    /path/to/your/script
  endscript
}