我如何使用ansible playbook命令访问gtm shell

时间:2015-02-13 06:30:03

标签: ansible ansible-playbook

我被困在这里,我可以很容易地设置GT.M的来源,但在此之后,当我触发gtm命令时它会卡住,也不会离开它,有人请帮帮我。

我的代码如下:

---
- name: Copying files on local machine and printing Hello msg.
  hosts: webservers
  user: onkar
  remote_user: vistaehr
  gather_facts: False  
  #sudo: False
  tasks:  
    - name: copying local file
      copy: src=/home/onkar/onkar/Ansible/HELLO.m dest=/home/vistaehr/VistA/testr
      #shell: rm pwd.txt

    - name: Print Success
      debug: msg="success"

    - name: changing ownership of file
      #copy: src=/home/onkar/onkar/Ansible/HELLO.m dest=/home/vistaehr/VistA/testr
      shell: chown vistaehr:vistaehr /home/vistaehr/VistA/testr/HELLO.m

    - name: Setting Source        
      shell: . /home/vistaehr/VistA/env && gtm    

    - name: Print Success
      debug: msg="success"

    - name: zlinking given file      
      shell: zlink "/home/vistaehr/VistA/testr/HELLO.m"

1 个答案:

答案 0 :(得分:1)

gtm启动一个控制台,它是一个交互式过程。 Ansible正在等待被叫命令退出。由于程序永远不会退出,因此您的安全任务永远不会完成。

你想通过Ansible调用gtm来存档什么?如果您想要启动服务,请查看service模块或查看systemdinit.d,具体取决于您的系统。

gtm中运行命令,您可以使用管道:

echo 'zlink "/home/vistaehr/VistA/testr/HELLO.m"' | gtm

或者作为一项安全的任务:

- name: Setting Source and zlinking given file
  shell: . /home/vistaehr/VistA/env && echo 'zlink "/home/vistaehr/VistA/testr/HELLO.m"' | gtm