陈奇网络工作室

为安装linux服务器自动批量配置NTP服务

服务器

最近项目中新出现了两台钟表设备。 必须将网络中的100多台linux服务器配置为NTP服务器,以实现与时钟设备的时间同步。 为了避免逐一配置每个设备的麻烦,编写了python脚本。 脚本分为三个文件,第一个是python脚本,第二个是主机清单,其中包含IP地址和密码两个文件。 第三个命令文件包含yum在安装ntp软件包、配置ntp.conf参数文件和启动ntp服务之间执行的操作语句。 当运行脚本并调用这两个文件时,网络中的所有服务器NTP安装都将配置并完成服务。 事实上,该脚本可以执行各种批量操作,只需修改命令文件,而无需对脚本进行任何修改。

cat cmd_list.txt

###NTP文件配置

mv/etc/NTP.conf/etc/NTP.conf.bak

echo& #039; server192.168.5.200& #039; /etc/NTP.conf

echo& #039; fudge 192.168.5.200 stratum 10 & amp; #039; /etc/NTP.conf

# # #安装NTP程序包并启动NTP服务

rm /etc/yum.repos.d/*.repo

echo& #039; [ol7_U5_base]& #039; /etc/yum.repos.d/local.repo

echo& #039; name=OracleLinux& #039; /etc/yum.repos.d/local.repo

Echo& #039; base URL=http://192.168.5.250/red hat7& amp; #039; /etc/yum.repos.d/local.Repo

ECHO& #039; gpg key=http://192.168.5.250/red hat7/rpm-gpg-key-red hat-release & amp; #039; /etc/yum.repos.d/local.reecal

ECHO& #039; gpgcheck=1& #039; /etc/yum.repos.d/local.repo

Echo& #039; enabled=1& #039; /etc/yum.repos.d/local.repo

yum install -y ntp*

系统开始ntpd

系统启用ntpd

cat host.txt

192.168.5.1

通过1

192.168.5.2通过

……

192.168.5.254通过254

cat auto_ntp.py

导入参数

导入时间

导入系统

导入套接字

host=open(sys.argv[1] ) ) ) ) ) ) ) )。

host_list=[]

username=& #039; 根&映射; #039;

for hosta in host.readlines (

host_list.append(Hosta.strip ( ).split ) )

f=open(log.txt,) a ) )

CMD=open(sys.argv[2] )

for hostname,password in host_list :

ssh_client=paramiko.SSHClient (

sh _ client.set _ missing _ host _ key _ policy ( paramiko.autoaddpolicy ( )

try :

ssh _ client.connect ( hostname=hostname,username=username,password=password ) )。

print(successfullconnectedto,hostname ) )。

cmd.seek(0) )。

stdin,stdout,stderr=ssh _ client.exec _ command ( hostname ) ) ) )。

f.write(hostname& #039; stdout.read ).decode ) & #039; utf-8& #039; ) ) (\n ) ) ) ) ) ) ) ) ) ) ) 652 )

for ccc in cmd.readlines (

c=ccc.strip ( )

stdin,stdout,stderr=ssh _ client.exec _ command ( c )

f.write(stdout.read ).decode(utf-8 ) ) (\n ) )

f.write(stderr.read ).decode(utf-8 ) ) (\n ) )

exceptparamiko.ssh _ exception.authenticationexception :

打印( userauthenticationfailedfor & amp ); #039; username ) )。

except socket.error :

打印(主机名称& amp; #039; isnotreachable.& #039; )

cmd.close (

f.close ( ) )

ssh_client.close (

执行:

python auto _ NTP.py host.txt cmd _ list.txt

通过修改cmd_list.txt文件中的操作语句,可以批量执行任何其他操作

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3