【发布时间】:2018-08-05 11:41:58
【问题描述】:
我想使用“date”命令输出作为环境变量。
假设
- tasks:
- name: Getting start date
shell: date +%d%b%Y:%H:%M
register: start_date
- debug:
vars: start_date.stdout
environment:
start_date_env: start_date.stdout
- name: Echo my_env_var
shell: echo $start_date_env
register: some
- debug:
var: some.stdout
O/P
changed: [host1]
cmd: date +%d%b%Y:%H:%M
stdout: 05Aug2018:09:30
TASK [Echo my_env_var] ***********************************************************************************************************************
cmd: echo $start_date_env
ok: [host1] => {
"some.stdout": ""
我想在远程主机上运行上述格式的日期命令,然后将变量保存为目标主机上的环境。这是因为我必须使用此变量在 3-4 个剧本执行结束时获取一些数据。数据将取决于剧本的start_time 和剧本的end_time。基本上两个环境变量start_time 和end_time 我可以在最后使用
简而言之,是否可以将在主机上执行的一个命令的输出设置为环境变量一个在ansible中的同一主机
【问题讨论】:
-
你能提供更多信息吗?
-
另外,ansible gather_fact 提供了日期时间信息。
ansible_date_time.date你可以用它来简化事情。唯一需要注意的是,gather-fact 必须设置为 true。
标签: ansible