如何排除 /etc/logrotate.d/ 下的服务以与主 logrotate 作业一起运行

Ioa*_*oan 5 linux logrotate cron exclude

我在 logrotate.d 下有一个文件,我不想在主 logrotate 运行时运行该文件。我为此创建了一个单独的工作/etc/crontab

45 23   * * *   root    mv /var/log/RemoteSystems/*/*.log /var/log/Archiv/ && logrotate /etc/logrotate.d/test  
Run Code Online (Sandbox Code Playgroud)

该作业会将文件从一个目录移动到另一个目录,然后应用 logrotate。我希望这项工作与/etc/crontab. 问题是,因为“测试”在 下/etc/logrotate.d/,它将使用主 logrotate 再次运行。我可以在 logrotate.conf 中插入任何可以排除“测试”运行的命令吗?我知道如果我有“测试”文件/etc/logrotate.d,这不会发生,但我想让“测试”保持在同一路径。

Kha*_*led 6

如果您查看手册man logrotate.conf,您可以阅读查找tabooext选项,该选项使您能够排除某些具有特定扩展名的文件。

tabooext [+] list
     The current taboo extension list is changed (see the include directive for information on the taboo extensions). If a + precedes the
     list of extensions, the current taboo extension list is augmented, otherwise it is replaced. At startup, the  taboo  extension list
     contains  .rpmsave,  .rpmorig,  ~, .disabled, .dpkg-old, .dpkg-dist, .dpkg-new, .dpkg-bak, .dpkg-del, .cfsaved, .ucf-old, .ucf-dist,
     .ucf-new, .rpmnew, .swp, .cfsaved, .rhn-cfg-tmp-*
Run Code Online (Sandbox Code Playgroud)

您可以选择默认排除的扩展名之一.disabled,也可以指定您自己的附加扩展名,例如:

tabooext + .test
Run Code Online (Sandbox Code Playgroud)

您需要做的就是重命名您的文件/etc/logrotate.d/test以具有任何这些扩展名,例如/etc/logrotate.d/test.disabled.


小智 0

通过将文件放入目录test/etc/logrotate.d/,logrotate 将自动拾取该文件。

如果您想手动运行它,您可以强制它对特定文件执行 logrotate,无论位置如何。

logrotate --force /tmp/test
Run Code Online (Sandbox Code Playgroud)

/tmp/test文件的新位置在哪里。