Documentation

    logrotate

    Manage log rotation configurations.

    Attributes

    check_mode:
      support: full
    

    Parameters

    Parameter Required Type Values Description
    compress   boolean   Compress rotated log files. [default: false]
    config_file   string   Custom configuration file path (default: /etc/logrotate.d/).
    copy   boolean   Copy log file before truncating instead of moving. [default: false]
    copytruncate   boolean   Truncate original log file in place instead of moving. [default: false]
    create   string   Create new log file after rotation with specified permissions. Format: mode owner group (e.g., “0644 root root”).
    dateext   boolean   Use date as suffix for rotated files. [default: false]
    dateformat   string   Format for date suffix (strftime format).
    delaycompress   boolean   Delay compression until the next rotation cycle. [default: false]
    frequency   string daily
    weekly
    monthly
    yearly
    How often to rotate logs. [default: "daily"]
    missingok   boolean   Don’t report errors if log file is missing. [default: false]
    notifempty   boolean   Don’t rotate empty log files. [default: false]
    path true     Path to log file(s). Can be a single path or a list of paths.
    postrotate   string   Script to run after rotation.
    prerotate   string   Script to run before rotation.
    rotate   integer   Number of rotated files to keep.
    shared_scripts   boolean   Execute prerotate/postrotate scripts only once for all matched files. [default: false]
    sharedscripts   boolean   Don’t rotate if sharedscripts is set and the script fails. [default: false]
    size   string   Rotate when file exceeds this size (e.g., “100M”, “1G”).
    state   string present
    absent
    Whether the configuration should be present or absent. [default: "present"]

    Examples

    - name: Configure log rotation for app
      logrotate:
        path: /var/log/app.log
        frequency: daily
        rotate: 7
        compress: true
        missingok: true
        notifempty: true
    
    - name: Configure log rotation for multiple log files
      logrotate:
        path:
          - /var/log/app1.log
          - /var/log/app2.log
        frequency: weekly
        rotate: 4
        compress: true
        delaycompress: true
    
    - name: Configure log rotation with size limit
      logrotate:
        path: /var/log/large-app.log
        size: 100M
        rotate: 5
        compress: true
    
    - name: Remove log rotation configuration
      logrotate:
        path: /var/log/old-app.log
        state: absent