如何使用Ansible命令更新imunify360设置

42次阅读
没有评论

问题描述

想知道如何使用Ansible命令在CloudLinux 7上正确运行以下CloudLinux Imunify360命令(类似于CentOS7)。用户尝试了不同的方法来“转义”命令中的冒号,但无论如何都无法正确运行,即使YAML语法检查器显示它是正确的。

imunify360-agent config update '{"MALWARE_SCANNING": {"rapid_scan": true}}'
imunify360-agent config update '{"MALWARE_SCANNING": {"default_action": "cleanup"}, "MALWARE_SCAN_SCHEDULE":{"interval": "week"}}'
imunify360-agent config update '{"MALWARE_SCANNING": {"enable_scan_inotify": true}}'

来源:https://blog.imunify360.com/new-default-settings-for-imunify360

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在使用Ansible命令时,可以使用单引号来解决冒号转义的问题。以下是使用Ansible命令运行Imunify360命令的步骤:

  1. 在Ansible playbook中创建一个任务(task)。
  2. 使用command模块来运行Imunify360命令。
  3. 在命令中使用单引号来包裹参数。

以下是一个示例Ansible playbook的代码:

- name: Enable rapid scan
  command: imunify360-agent config update '{"MALWARE_SCANNING": {"rapid_scan": true}}'

- name: Cleanup scan schedule
  command: imunify360-agent config update '{"MALWARE_SCANNING": {"default_action": "cleanup"}, "MALWARE_SCAN_SCHEDULE":{"interval": "week"}}'

- name: Enable scan inotify
  command: imunify360-agent config update '{"MALWARE_SCANNING": {"enable_scan_inotify": true}}'

在上面的示例中,我们创建了三个任务,分别用于启用快速扫描、清理扫描计划和启用inotify扫描。在每个任务的command属性中,我们使用单引号来包裹Imunify360命令的参数。

方案2

使用折叠块标量(>)可以更方便地避免转义问题。
另一种方法是使用折叠块标量(>)来运行Imunify360命令。折叠块标量通常用于多行字符串,因为它们会将换行符替换为一个空格,但它们不会解析转义序列,因此不需要进行转义。

以下是使用折叠块标量运行Imunify360命令的示例:

- name: Enable rapid scan
  command: >-
    imunify360-agent config update '{"MALWARE_SCANNING": {"rapid_scan": true}}'

- name: Cleanup scan schedule
  command: >-
    imunify360-agent config update '{"MALWARE_SCANNING": {"default_action": "cleanup"}, "MALWARE_SCAN_SCHEDULE":{"interval": "week"}}'

- name: Enable scan inotify
  command: >-
    imunify360-agent config update '{"MALWARE_SCANNING": {"enable_scan_inotify": true}}'

在上面的示例中,我们使用折叠块标量(>-)来定义每个任务的命令。这将确保命令中的冒号不会被解析为转义字符。

请注意,使用折叠块标量时,末尾的换行符不会被删除,因此我们可以在每个命令的末尾添加一个连字符(-)来删除换行符。

以上是使用Ansible命令更新imunify360设置的两种解决方案。根据您的需求和偏好,选择适合您的方法即可。

正文完