java定义日期变量_ansible定义时间戳的变量

在设置带有时间戳的变量时,我遇到麻烦,通过我的剧本使用它 . 我想要实现的是在两个服务器中使用发布文件夹名称,并使用相同的时间戳标记新的数据库 .

我在/ ansibleproject / vars /中名为common.yml的文件中定义这些变量 .

timestamp: "{{lookup('pipe', 'date +%Y%m%d%H%M%SZ')}}"

release_name: '{{ repo_tag }}_{{timestamp}}'

new_db_name: '{{release_name}}'

然后,在任务文件上,我正在创建这样的目录:

- name: "Create new release folder"

file: path={{new_release_path}} state=directory mode=2775 owner=deployment group=deployment

become: yes

在一个单独的任务文件中,我正在创建这样的数据库:

- name: "Prepare db user rights"

shell: echo "CREATE DATABASE \`{{new_db_name}}\` CHARACTER SET utf8 COLLATE utf8_general_ci; " > db_create.sql

when: inventory_hostname == groups['app'][0]

- name: "Create new database for new release"

shell: mysql -h {{mysql_server}} -u{{mysql_username}} -p{{mysql_password}} < db_create.sql

when: inventory_hostname == groups['app'][0]

在我正在部署的两台服务器上创建的文件夹具有相同的时间戳:

drwxrwsr-x 2 deployment deployment 4096 Mar 14 16:36 test_20170314173640Z/

但db名称具有不同的时间戳 .

mysql> show databases;

+---------------------------------------------------------------+

| Database |

+---------------------------------------------------------------+

| information_schema |

| dummy |

| mysql |

| performance_schema |

| test_20170314173819Z |

+---------------------------------------------------------------+

我正在阅读关于“set_fact”来设置时间戳,但这似乎在主机的基础上工作 .

有没有办法让它在服务器和数据库上保持一致?

问候,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值