0

我正在尝试创建一个剧本,"/etc/vmware-tools/services.sh"如果没有运行,它将查看是否正在运行然后开始。

我已经尝试过命令和 shell,但我无法确定syntax条件。

    --- # VMWARE_TOOLS_NOT_RUNNING
- hosts: redhat-vm-guest
  user: ansible-user
  become: true
  become_user: root
  connection: ssh
  gather_facts: false
  tasks:
  - name: check vmware tools is running
    command: /etc/vmware-tools/services.sh status
    register: status
  - name: print status
    debug:
      msg: "{{ status.stdout }}
4

2 回答 2

0

使用以下内容:

- name: check vmware tools is running
  command: /etc/vmware-tools/services.sh status
  register: _status
  ignore_errors: True

- name: Start VMWare Tools
    command: /etc/vmware-tools/services.sh start
  when: _status.stdout.find("running") == -1

如果可能,我建议使用该service模块。

于 2018-05-16T13:30:19.080 回答
0

我终于有了一些有用的东西。

    --- # VMWARE_TOOLS_NOT_RUNNING
- hosts: vmwaretools
  user: ansibleuser
  become: true
  become_user: root
  connection: ssh
  gather_facts: false
  tasks:
  - name: vmware tools status
    command: /etc/vmware-tools/services.sh status
    ignore_errors: yes
    register: _status
  - debug: msg="{{ _status.stdout }}"
  - name: start vmware tools
    command: "/etc/vmware-tools/services.sh start"
    ignore_errors: yes
    when: _status == _status
  - debug: msg="{{ _status.stdout }}"
于 2018-05-17T15:44:13.970 回答