Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1934601

Summary: Conflict of logrotate options `copytruncate` and `renamecopy`
Product: Red Hat Enterprise Linux 9 Reporter: Denis Volkov <dvolkov>
Component: logrotateAssignee: Kamil Dudka <kdudka>
Status: CLOSED CURRENTRELEASE QA Contact: Vojtech Eichler <veichler>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.0CC: fsumsal, kdudka, veichler
Target Milestone: betaKeywords: Patch, Triaged
Target Release: 9.0 BetaFlags: kdudka: needinfo-
pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: logrotate-3.18.0-4.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-12-07 21:24:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Denis Volkov 2021-03-03 14:48:44 UTC
Description of problem:
During the logrotation customer gets the following message:

    rotating pattern: /var/log/boot.log
     forced from command line (7 rotations)
    olddir is /var/log/old, empty log files are not rotated, old logs are removed
    considering log /var/log/boot.log
      Now: 2021-03-03 15:28
      Last rotated at 2021-03-03 15:27
      log needs rotating
    rotating log /var/log/boot.log, log->rotateCount is 7
    dateext suffix '-20210303'
    glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
    set default create context to system_u:object_r:plymouthd_var_log_t:s0
    glob finding old rotated logs failed
    copying /var/log/boot.log.tmp to /var/log/old/boot.log-20210303
    error: error opening /var/log/boot.log.tmp: No such file or directory              <-------- error 
    removing tmp log /var/log/boot.log.tmp 


Version-Release number of selected component (if applicable):
logrotate-3.14.0-4.el8.x86_64

How reproducible:
Add both `copytruncate` and `renamecopy` option to some of the logrotate definitions. 

Customer added `renamecopy` to /etc/logrotate.conf and he had default `copytruncate` in /etc/logrotate.d/bootlog. This resulted in the mentioned error.
As soon as one of the options was removed, the problem is gone.

So it appears to be the conflict between `copytruncate` and `renamecopy` directives.

I see few options here:

  - make additional note in manual page that these directives should not be used simultaneously
  - make `renamecopy` disable `copytruncate` directive (and vice versa) if one of the directives is specified later

Comment 1 Kamil Dudka 2021-04-16 16:38:53 UTC
Thank you for reporting it!  I will submit a pull request upstream.

Comment 2 Kamil Dudka 2021-04-27 19:05:52 UTC
upstream pull request: https://github.com/logrotate/logrotate/pull/386

Comment 3 Kamil Dudka 2021-05-03 13:36:50 UTC
upstream commit: https://github.com/logrotate/logrotate/commit/fe53a0ef