我几乎是新手。我正在尝试使用nohup命令迁移linux脚本以执行远程服务器启动,但是它无法正常工作。 ansible结果状态更改为:true,但是当我检查进程是否启动时,它没有启动。因此,我必须手动重新启动它。
感谢您的帮助。
这是我在做什么:
- name: "Performing remote startup on server {{ SERVER }}"
command: nohup {{ JAVA_HOME }}/bin/java {{ DYNATRACE_AGENT_REUS }} -jar -Dengine={{ ENGINE_NAME }} name-{{ ENGINE_JAR_VERSION }}.jar --server.port={{ ENGINE_PORT }} >{{ CONSOLE_LOG }} 2>&1 &
args:
chdir: "{{ SOMEVAR_HOME }}"
async: 75
poll: 0
register: out
- debug:
msg: '{{ out }}'
结果:
TASK [Performing remote startup on server] ***********************************************************************************************************************************************************************************
changed: [servername]
TASK [debug] ********************************************************************************************************************************************************************************************************************************
ok: [servername] => {
"msg": {
"ansible_job_id": "160551828781.28405",
"changed": true,
"failed": false,
"finished": 0,
"results_file": "/home/admindirectory/.ansible_async/160551828781.28405",
"started": 1
}
}
答案 0 :(得分:1)
尝试使用shell
而不是command
模块。 Bash重定向不适用于command
。
P.S。您以一种奇怪的方式使用ansible。创建一个系统单元(系统级或用户级),然后使用systemd
模块来启用/启动它。