linux 批量修改主机名脚本

linux 批量修改主机名脚本,第1张

这个要涉及到几个实现点:

1、批量登陆到不同主机:expect实现就可以

2、看需要修改的主机机器是什么发行版,Suse的一般修改HOSTNAME就可以,RedHat修改、/etc/sysconfig/里面的某个文件 。

如果只是单纯数字很很简单给个例子:

#!/usr/bin/perl

foreach (1..254) {

print ("wb_3rdapi_cgi_$_"."\n")

}

修改Hostname属性:

修改Hosts属性:

重新加载配置文件:

网络无法连接:

修改Bash脚本:

修改配置文件:

#!/bin/bash

cp -n /etc/hosts{,.old}

idomainname=$(domainname -i)

fdomainname=$(domainname -f)

newhn=$(cat /dev/urandom | tr -dc 'A-Z' | head -c8)

echo $newhn >/etc/hostname

mv /etc/hosts /etc/hosts.old

echo "127.0.0.1 localhost" >/etc/hosts

echo "$idomainname  $fdomainname    $newhn" >>/etc/hosts

echo "# The following lines are desirable for IPv6 capable hosts" >>/etc/hosts

echo "::1    localhost ip6-localhost ip6-loopback" >>/etc/hosts

echo "ff02::1 ip6-allnodes" >>/etc/hosts

echo "ff02::2 ip6-allrouters" >>/etc/hosts

service hostname.sh stop

sleep 1

service hostname.sh start

service networking stop

sleep 1

service networking start

service network-manager stop

sleep 1

service network-manager start

xhost +$newhn

exit

移动Bash脚本到/usr/bin/ folder:

赋予权限:

修改主机动态域名:

修改用户密码:

注意

主机名可以是任意格式的字符串,最长为 64 个字符。但建议在 static 和 transient 名称与 DNS采用的完全限定域名(FQDN)匹配,比如 host.example.com。还建议在 static 和 transient 名称中只包含 7字节 ASCII 小写字符,无空格或点,并将其限制为使用 DNS域名标签格式,尽管这不是一个严格要求。在以前的要求中不允许使用下划线,因此也不建议在此使用。 hostnamectl工具会强制采用以下限制:static 和 transient 主机名只包含 a-z、A-Z、0-9、“-”、“_” 和 “.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点。大小限制为 64 个字符。

一、临时修改主机名

[root@localhost ~]# hostname      //或hostnamectl(CentOS7)

过程

[root@localhost ~]# hostname  //查看主机名localhost.localdomain[root@localhost ~]# hostname xsnq  //临时修改[root@localhost ~]# hostname  //此处实际上已经是修改成功的xsnq

此方法在服务器重启后,主机名还是会是原先的名称。

二、永久修改主机名

1.方法一

使用 hostnamectl 修改,hostnamectl 是在 centos7 中新增加的命令。

hostnamectl 更多用法点此

语法hostnameset-hostname 主机名 --参数[root@localhost ~]# hostname set-hostname xsnq --static  //定义静态的(static)主机名//hostnameset-hostname xsnq 设定所有主机名  可加参数 –pretty、–static、--transient 中的一个或多个选项。

//远程重新连接或重启服务器

2.方法二

修改主机名配置文件

[root@localhost ~]# vi /etc/hostname

把 localhost.localdomain 修改成你想取得主机名称。

例如, 把  localhost.localdomain  修改为  xsnq  。

重启服务器(如果已做了临时修改,只需保存配置文件即可,待下次服务器重启即可读取到新的主机名)

[root@localhost ~]# init 6[root@xsnq ~]#

此时主机名已永久修改成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8668637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存