我有一个脚本可以读取文本文件,其中列出了所有节点:
node1
node2
node3
.
.
.
它为/etc/icinga2/zones.d/master/hosts/new/目录中的每个节点创建一个“ .conf”文件
将文件名linux-template的内容复制到每个新的conf文件中。
一切正常,但每个节点也会出错:
有人可以帮忙吗?
谢谢
这是我的脚本:
#!/bin/bash
cd /etc/icinga2/zones.d/master/hosts/new
while read f; do
cp -v "$f" /etc/icinga2/zones.d/master/hosts/new/"$f.conf"
cp linux-template.conf "$f.conf"
chown icinga:icinga "$f.conf"
done < linux-list.txt
一旦所有内容都被复制,我将在下面得到这些错误(对于所有节点,即节点1):
cp: cannot stat ‘node1’: No such file or directory
chown: cannot access ‘node1’: No such file or directory
答案 0 :(得分:1)
似乎在抱怨,因为您的目录中没有名为“ node1”的文件,并且您已启用了详细模式。
运行该脚本时,如果您不在/etc/icinga2/zones.d/master/hosts/new/
目录中,则该脚本看起来也会引起不良行为。
脚本说:
我建议使用绝对路径,但我不确定为什么需要第一个cp
。如果您打算将linux-template.conf
复制到在步骤1中创建的每个node[1-9].conf
中,则无论如何第二个副本将创建并覆盖该文件,并且不需要步骤1。