在CentOS上更改主机名的脚本

时间:2012-09-20 15:38:45

标签: perl hostname

我使用curl使用HTTP get请求从服务器中提取主机名,这样可以正常工作。我需要我的脚本来修改/etc/sysconfig/network文件,所以我不必重新启动系统来应用主机名。

到目前为止,这是我的代码:

#!/usr/local/bin/perl

use strict;
use warnings;
use Sys::Hostname;


my $curl = `curl http://100.10.10.10/hostname`; # Get correct hostname 
my $host = hostname;

if ($curl ne $host) {
   # Need to modify the /etc/sysconfig/network file to replace hostname or add it.
}

编辑: 我的实际问题:使用新主机名修改该文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我想你想要的是

my $host = qx{hostname};

而不是

my $host = hostname;

另外,为什么不手动进行更改(例如,打开/ etc / hosts或您要编辑的任何文件,并进行编辑,只需确保$>为0 ...脚本正在运行用户root。)