好的,希望我能正确解释这一点,因为我不知道是什么原因造成的,也不知道如何解决。
出于某种原因,bash 命令(在 CentOS 6.x 服务器上)显示的信息比“正常”多,这会导致某些脚本出现问题。我不知道是否有这个名字,但希望有人知道这个问题的解决方案。
第一个例子。
正确/良好的服务器:
[root@goodserver ~]# vzctl enter 3567
entered into CT 3567
[root@example /]#
(这是正确的行为)
不正确/坏的服务器:
[root@badserver /]# vzctl enter 3127
Entering CT
entered into CT 3127
Open /dev/pts/0
[root@example /]#
使用“坏”服务器,它将像往常一样显示更多信息,例如:
- 进入CT
- 打开 /dev/pts/0
这就像它解析关于它正在做什么的额外信息。
当然,上面的内容纯粹是装饰性的,但是对于我们使用的几个 bash 脚本,这些问题确实是个问题。
我们使用的脚本的一部分,使用以下命令(还有更多,但这主要是一个错误的例子):
DOMAIN=`vzctl exec $VEID 'hostname -d'`
以上信息的结果在/etc/named.conf中解析。
在GOOD服务器上,它会像这样添加到 named.conf 中:
zone "example.com" {
type master;
file "example.com";
allow-transfer {
200.190.100.10;
200.190.101.10;
common-allow-transfer;
};
};
以上是正确的。
在BAD服务器上,它会像这样添加到 named.conf 中:
zone "Executing command: hostname -d
example.com" {
type master;
file "Executing command: hostname -d
example.com";
allow-transfer {
200.190.100.10;
200.190.101.10;
common-allow-transfer;
};
};
所以它添加了它所做的操作,在这个例子中是“执行命令:主机名 -d”
当我在好服务器和坏服务器上运行命令时,这里是另一个示例。
坏服务器:
[root@bad-server /]# DOMAIN=`vzctl exec 3333 'hostname -d'`
[root@bad-server /]# echo $DOMAIN
Executing command: hostname -d example.com
好的服务器:
[root@good-server ~]# DOMAIN=`vzctl exec 4444 'hostname -d'`
[root@good-server ~]# echo $DOMAIN
example.com
我的知识有限,但我已经尝试了几件事来检查 rsyslog 和 grub.conf,但似乎没有什么不寻常的。
我不知道为什么它会显示额外的信息。
可能这是简单/愚蠢的事情,但我已经尝试解决这个问题好几个小时了,我真的不知道......
因此,非常感谢任何帮助。
补充信息:两台服务器都使用:kernel.printk = 7 4 1 7(我不知道这是否有用)