以不同所有者的文件作为非root用户logrotate

我有各种所有者的日志文件的集合。 每个日志文件对应于一组程序中的一个,权限是可写组的,这样任何启动程序的人都可以写日志。 (文件是660,目录是774)。

我想使用logrotate不时归档日志。 由于我们组中的每个人都可以读取这些文件,因此我认为logrotate可以由用户执行。 但是,logrotate会尝试使用与原始相同的所有者创build旋转的文件。 如果活动用户拥有所有的文件,一切工作正常,但否则logrotate失败,因为用户没有权限创build其他人拥有的文件。

有没有办法解决这个问题? 到目前为止,我已经考虑(并放弃)以下选项

  • 以root身份运行logrotate。 理想情况下,我会从其他程序之一触发logrotate,该程序可以由组中的任何人运行。 即使那些没有sudo权利。
  • create选项可以帮助后续日志转换,因为活动用户将拥有所有的日志文件。 但是这对第一次调用logrotate没有帮助。
  • su选项需要root权限,并且可能没有帮助,因为日志文件不一定全部由同一个用户拥有。
  • 根据cp / mv> ${file}滚动我自己的脚本。 我想尽可能使用现有的工具。