【发布时间】:2021-08-24 10:43:46
【问题描述】:
我们想使用带有“watch”功能的etcd来改变我们的“/etc/hosts”文件。 一个节点应该改变这个值,然后手表应该把改变写入“/etc/hosts”。
节点1输入:
etcdctl put master-server "192.168.10.1 master-server.int.server.io"
Node2 观察:
etcdctl watch master-server | head -3 | tail -1 | tee >> hosts.file
Node2 输出:
192.168.10.1 master-server.int.server.io
这很好,但现在我想要一个多行的输出,如下所示: 节点 2 输出:
192.168.10.1 master-server.int.server.io
192.168.10.2 slave1-server.int.server.io
192.168.10.3 slave2-server.int.server.io
我的想法是:
etcdctl put master-server "192.168.10.1 master-server.int.server.io \n192.168.10.2 slave1-server.int.server.io \n192.168.10.3 slave2-server.int.server.io"
但它不起作用。
输出是:
192.168.10.1 master-server.int.server.io \n192.168.10.2 slave1-server.int.server.io \n192.168.10.3 slave2-server.int.server.io
有人知道解决我的问题的最佳方法吗? 以及如何将多行转换为一个值?
感谢您的帮助。
【问题讨论】: