Модуль community.general.logrotate — управление конфигурациями logrotate
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.logrotate.
Добавлено в community.general 12.5.0
Краткое описание
- Управление файлами конфигурации и настройками
logrotate. - Создание, обновление и удаление конфигураций
logrotateдля приложений и служб.
Требования
Следующие требования должны быть выполнены на узле, на котором выполняется этот модуль.
- logrotate >= 3.8.0
Параметры
Параметр | Комментарии |
|---|---|
backup boolean добавлено в community.general 12.6.0 | Создать резервную копию существующего файла конфигурации перед перезаписью. Файл резервной копии создаётся в том же каталоге; к его имени добавляется суффикс с отметкой времени. Варианты:
|
compress boolean | Сжимать ротированные файлы журналов. Варианты:
|
compress_options string | Параметры, передаваемые программе сжатия. Для Для |
compression_method string | Используемый метод сжатия. Для Варианты:
|
config_dir path | Каталог, в котором хранятся конфигурации logrotate. Для конфигураций пользователя рекомендуется использовать Перед использованием модуля этот каталог должен существовать. По умолчанию: |
copy boolean | Копировать файл журнала, не усекая исходный файл. Имеет приоритет над Варианты:
|
copy_truncate boolean | Скопировать файл журнала, а затем усечь его на месте. Полезно для приложений, которым нельзя сообщить о необходимости закрыть файл журнала. Варианты:
|
create string | После ротации создать новый файл журнала с указанными правами доступа. Формат: Укажите |
create_old_dir boolean | |
date_ext boolean | Использовать дату в качестве расширения ротированных файлов (в формате даты, заданном в Варианты:
|
date_format string | Формат расширения даты. Используется вместе с Спецификаторы формата: |
date_yesterday boolean | Использовать вчерашнюю дату для Полезно при ротации журналов, охватывающих полночь. Варианты:
|
delay_compress boolean | Отложить сжатие предыдущего файла журнала до следующего цикла ротации. Полезно для приложений, которые продолжают некоторое время записывать данные в старый файл журнала. Варианты:
|
enabled boolean | Определяет, должна ли конфигурация быть включена. Если значение равно Варианты:
|
extension string | Расширение для ротированных файлов журналов (включая точку). Полезно при |
first_action list / элементы=string | Команды, выполняемые один раз перед ротацией всех файлов журналов, соответствующих шаблону с подстановочными знаками. |
include path | Подключить дополнительные файлы конфигурации из указанного каталога. |
last_action list / элементы=string | Команды, выполняемые один раз после ротации всех файлов журналов, соответствующих шаблону с подстановочными знаками. |
string | Отправлять журналы на указанный адрес электронной почты при удалении. Укажите |
mail_first boolean | Отправлять только что созданный файл журнала, а не файл, срок хранения которого подходит к концу. Варианты:
|
mail_last boolean | Отправлять файл журнала, срок хранения которого подходит к концу (по умолчанию). Варианты:
|
max_age integer | Удалять ротированные журналы, возраст которых превышает указанное число дней. |
max_size string | Выполнять ротацию файла журнала при превышении указанного размера, но не чаще одного раза за Формат: |
min_size string | Выполнять ротацию файла журнала, только если его размер превысил указанное значение. Формат: Используется вместе с ротацией по времени, чтобы не ротировать слишком маленькие файлы. |
missing_ok boolean | Не выдавать ошибку, если файл журнала отсутствует. Варианты:
|
name псевдонимы: config_name string / обязательный | Имя конфигурации logrotate. В |
no_delay_compress boolean | Противоположность Обратите внимание, что в logrotate Варианты:
|
no_old_dir boolean | Хранить ротированные журналы в том же каталоге, что и исходный журнал. Варианты:
|
not_if_empty boolean | Не выполнять ротацию пустого файла журнала. Укажите Варианты:
|
old_dir path | Перемещать ротированные журналы в указанный каталог. |
paths list / элементы=path | Список путей к файлам журналов или шаблонов для ротации. Могут содержать подстановочные знаки (например, Обязательный параметр при создании новой конфигурации ( Необязательный параметр при изменении существующей конфигурации (например, для включения или отключения). |
post_rotate list / элементы=string | Команды, выполняемые после ротации файла журнала. Можно указать одну строку или список команд. |
pre_remove list / элементы=string | Команды, выполняемые перед удалением ротированных файлов журналов. |
pre_rotate list / элементы=string | Команды, выполняемые перед ротацией файла журнала. Можно указать одну строку или список команд. |
rename_copy boolean | Переименовать и скопировать файл журнала, оставив исходный файл на месте. Варианты:
|
rotate_count integer | Количество ротированных файлов журналов, которые нужно сохранить. Укажите Укажите |
rotation_period string | Частота ротации журналов. Если при изменении существующей конфигурации параметр не задан, сохраняется его текущее значение. При создании новой конфигурации этот параметр включается только в том случае, если он задан. Варианты:
|
boolean | Выполнять скрипты Варианты:
|
shred boolean | Использовать Перед удалением файлы перезаписываются с помощью Варианты:
|
shred_cycles integer | Количество циклов перезаписи файлов при использовании Если параметр не задан, logrotate использует значение по умолчанию для |
size string | Выполнять ротацию файла журнала при превышении указанного размера. Формат: Если задан, переопределяет Если параметр не задан, при изменении конфигурации сохраняется существующее значение. При создании новой конфигурации этот параметр не включается, если он не задан. |
start integer | Начальный номер для ротированных файлов. Допустимые значения: от Например, |
state string | Определяет, должна ли конфигурация существовать или отсутствовать. Варианты:
|
su string | Задать пользователя и группу для ротированных файлов. Формат: Укажите Укажите |
syslog boolean | Отправлять сообщения logrotate в syslog. Варианты:
|
taboo_ext list / элементы=string | Список расширений, которые logrotate не должен обрабатывать. Укажите |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может выполняться в режиме |
diff_mode | Поддержка: полная | В режиме сравнения возвращает сведения об изменениях (или возможных изменениях в |
Примеры
- name: Ensure logrotate config directory exists
ansible.builtin.file:
path: /etc/logrotate.d
state: directory
mode: '0755'
- name: Configure log rotation for Nginx
community.general.logrotate:
name: nginx
paths:
- /var/log/nginx/*.log
rotation_period: daily
rotate_count: 14
compress: true
compress_options: "-9"
delay_compress: true
missing_ok: true
not_if_empty: true
create: "0640 www-data adm"
shared_scripts: true
post_rotate:
- "[ -f /var/run/nginx.pid ] && kill -USR1 $(cat /var/run/nginx.pid)"
- "echo 'Nginx logs rotated'"
- name: Configure size-based rotation for application logs
community.general.logrotate:
name: myapp
paths:
- /var/log/myapp/app.log
- /var/log/myapp/debug.log
size: 100M
rotate_count: 10
compress: true
compress_options: "-1"
date_ext: true
date_yesterday: true
date_format: -%Y%m%d.%s
missing_ok: true
copy_truncate: true
- name: Configure log rotation with secure deletion
community.general.logrotate:
name: secure-app
paths:
- /var/log/secure-app/*.log
rotation_period: weekly
rotate_count: 4
shred: true
shred_cycles: 3
compress: true
compress_options: "-9"
- name: Configure log rotation with custom start number
community.general.logrotate:
name: custom-start
paths:
- /var/log/custom/*.log
rotation_period: monthly
rotate_count: 6
start: 1
compress: true
- name: Configure log rotation with old directory
community.general.logrotate:
name: with-old-dir
paths:
- /opt/app/logs/*.log
rotation_period: weekly
rotate_count: 4
old_dir: /var/log/archives
create_old_dir: true
compress: true
compression_method: zstd
- name: Disable logrotate configuration
community.general.logrotate:
name: old-service
enabled: false
- name: Remove logrotate configuration
community.general.logrotate:
name: deprecated-app
state: absent
- name: Complex configuration with multiple scripts
community.general.logrotate:
name: complex-app
paths:
- /var/log/complex/*.log
rotation_period: monthly
rotate_count: 6
compress: true
delay_compress: false
pre_rotate:
- "echo 'Starting rotation for complex app'"
- "systemctl stop complex-app"
post_rotate:
- "systemctl start complex-app"
- "echo 'Rotation completed'"
- "logger -t logrotate 'Complex app logs rotated'"
first_action:
- "echo 'First action: Starting batch rotation'"
last_action:
- "echo 'Last action: Batch rotation complete'"
- name: User-specific logrotate configuration
community.general.logrotate:
name: myuser-apps
config_dir: ~/.logrotate.d
paths:
- ~/app/*.log
- ~/.cache/*/*.log
rotation_period: daily
rotate_count: 30
compress: true
su: "{{ ansible_user_id }} users"
- name: Configuration with copy instead of move
community.general.logrotate:
name: copy-config
paths:
- /var/log/copy-app/*.log
rotation_period: daily
rotate_count: 7
copy: true
- name: Configuration with syslog notifications
community.general.logrotate:
name: syslog-config
paths:
- /var/log/syslog-app/*.log
rotation_period: daily
rotate_count: 14
syslog: true
compress: true
- name: Configuration without compression
community.general.logrotate:
name: nocompress-config
paths:
- /var/log/nocompress/*.log
rotation_period: daily
rotate_count: 7
compress: false
- name: Configuration with custom taboo extensions
community.general.logrotate:
name: taboo-config
paths:
- /var/log/taboo/*.log
rotation_period: daily
rotate_count: 7
taboo_ext: [".backup", ".tmp", ".temp"]
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
backup_file string | Путь к резервной копии исходного файла конфигурации, если она была создана. Возвращается: при успехе, когда Пример: |
config_content string | Содержимое созданной конфигурации logrotate. Возвращается: при успехе, когда Пример: |
config_file string | Путь к созданному или обновлённому файлу конфигурации logrotate. Возвращается: при успехе, когда Пример: |
enabled_state boolean | Текущее состояние включения конфигурации. Возвращается: при успехе Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/logrotate_module.html