[工具] Shell 批量检测域名的 DNS 解析是否正确

介绍:

作者:朱明宇
名称:批量检测域名的 DNS 解析是否正确
作用:批量检测域名的 DNS 解析是否正确

使用方法:
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量:
1. main_domain=eternalcenter.com #此处填写网站的“主域名”,网站一般会有几个域名,其中“主域名”直接指向 ip 地址,其他的域名都指向主域名
2. ip=192.154.240.64 #域名指向的 ip 地址
3. nginx=1.16.0 #web 程序的对应版本的版本
4. content1=”eteranlcenter” # 随即填写一个具有代表性的网站首页的内容
5. content2=”Mingyu” # 随即填写一个具有代表性的网站首页的内容,但是要和前面的 content1 在同一行
6. domain=”eternalcenter.com eternalcentre.com zhumingyu.com mingyuzhu.com eternalcenter.org eternalcentre.org” #需要检测的域名

脚本:

#!/bin/bash

####################### Separator ########################

main_domain=eternalcenter.com
ip=144.48.142.148
nginx=1.16.0
content1="eternalcenter"
content2="Mingyu"
domain="eternalcenter.com eternalcentre.com zhumingyu.com mingyuzhu.com eternalcenter.org eternalcentre.org"

####################### Separator ########################

check_domain_name(){
if [ $1 == $main_domain ];then
	
	ping -c4 -i0.4 $1 | grep $ip &> /dev/null
	if [ $? -ne 0 ];then
		echo -e "\033[31m $1 is error !!!!! ip is error !!!!! \033[0m"
	else
		curl $1 | grep $nginx &> /dev/null
		if [ $? -ne 0 ];then
			echo -e "\033[31m $1 is error !!!!! software is error !!!!! \033[0m"
		else	
			elinks $1 | grep "$content1" | grep "$content2" &> /dev/null
			if [ $? -ne 0 ];then
				echo -e "\033[31m $1 is error !!!!! web is error !!!!! \033[0m"
			else
				echo -e "\033[32m $1 is ok \033[0m"
			fi
		fi
		
	fi
else
	elinks $1 | grep "$content1" | grep "$content2" &> /dev/null
	if [ $? -ne 0 ];then
		echo -e "\033[31m $1 is error !!!!! web is error !!!!! \033[0m"
	else
		echo -e "\033[32m $1 is ok \033[0m"
	fi


fi
}

for i in $domain
do
	check_domain_name $i
done

[步骤] Linux 时间同步的设置 (通过 NTP 实现)

注意:从 CentOS 7.2&RHEL 7.0 开始实现时间同步的程序默认从 NTP 换成了 Chrony 。 NTP 也可以继续使用,但是需要单独安装 NTP 的安装包。

步骤一:系统环境要求

服务器系统要配置好可用的软件源

步骤二:确保 NTP 已经安装

# yum -y install ntp

步骤三:确保系统会使用 Chrony 或 NTP 的时间同步

# timedatectl set-ntp true
# timedatectl
               Local time: Fri 2020-06-12 09:52:30 EDT
           Universal time: Fri 2020-06-12 13:52:30 UTC
                 RTC time: Fri 2020-06-12 13:51:52
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

步骤四:修改配置文件

# vim /etc/sysconfig/ntp

将部分内容修改如下:

......
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

(说明:在配置文件的末尾添加要进行时间同步的服务器)

步骤五:重启客户端的 NTP 服务

# service ntpd restart
# service ntpd status

步骤六:查看客户端时间同步的状态

# ntpq -p

[命令] Red Hat Satellite Server 客户端的设置

内容目录:

内容一:Redhat Satellite Server 的作用

内容二:Redhat Satellite Server 的关系拓扑图

内容三:Redhat client servers 的设置
3.1 将 client servers 注册到 Satellite Server
3.1.1 安装 katello-ca-consumer-latest.noarch.rpm
3.1.1.1 下载 katello-ca-consumer-latest.noarch.rpm
3.1.1.2 安装 katello-ca-consumer-latest.noarch.rpm
3.1.1.3 注册
3.1.2 查看注册信息
3.1.2.1 查看注册身份信息
3.1.2.2 查看所使用的 license
3.2 软件源库所对应的系统版本设置
3.2.1 查看客户端服务器现在正在使用的软件源库所对应的系统版本
3.2.2 查看客户端服务器所有可以使用的软件源库所对应的系统版本
3.2.3 修改客户端服务器的软件源库对应的系统版本
3.2.3.1 修改对应系统版本的格式
3.2.3.2 修改对应系统版本的案例
3.3 在选择了一个系统版本之后选择里面的软件源
3.3.1 查看软件源
3.3.1.1 查看客户端服务器目前正在使用的软件源
3.3.1.2 查看客户端服务器所有可以用的软件源和正在使用的软件源
3.3.2 让客户端服务器启用一个软件源
3.3.2.1 启用一个软件源的格式
3.3.2.2 启用一个软件源的案例
3.3.3 让客户端服务器禁用一个软件源
3.3.3.1 禁用一个软件源的格式
3.3.3.2 禁用一个软件源的案例
3.4 刷新所有的设置

具体的内容:

内容一:Redhat Satellite Server 的作用

1) Redhat Satellite Server 负责建立各种软件源库版本供
2) Redhat client servers 选择以安装和更新软件和补丁

内容二:Redhat Satellite Server 的关系拓扑图

                                  Redhat client server1
Redhat Satellite Server           Redhat client server2
                                  Redhat client server3
                                         ......
                                  Redhat client servern

内容三:Redhat client servers 的设置
3.1 将 client servers 注册到 Satellite Server
3.1.1 安装 katello-ca-consumer-latest.noarch.rpm
3.1.1.1 下载 katello-ca-consumer-latest.noarch.rpm

(只在 client servers 上执行以下步骤)

# curl --insecure --output katello-ca-consumer-latest.noarch.rpm https://<Satellite Server 的链接>/katello-ca-consumer-latest.noarch.rpm

3.1.1.2 安装 katello-ca-consumer-latest.noarch.rpm

(只在 client servers 上执行以下步骤)

# yum localinstall katello-ca-consumer-latest.noarch.rpm

3.1.1.3 注册

(只在 client servers 上执行以下步骤)

# subscription-manager register --org="<corresponding organization name>" --activationkey="<corresponding view name>"

3.1.2 查看注册信息
3.1.2.1 查看注册身份信息

(只在 client servers 上执行以下步骤)

# subscription-manager identity

3.1.2.2 查看所使用的 license

(只在 client servers 上执行以下步骤)

# subscription-manager list --consumed

3.2 软件源库所对应的系统版本设置
3.2.1 查看客户端服务器现在正在使用的软件源库所对应的系统版本

(只在 client servers 上执行以下步骤)

# subscription-manager release --show

3.2.2 查看客户端服务器所有可以使用的软件源库所对应的系统版本

(只在 client servers 上执行以下步骤)

# subscription-manager release –-list

3.2.3 修改客户端服务器的软件源库对应的系统版本
3.2.3.1 修改对应系统版本的格式

(只在 client servers 上执行以下步骤)

# subscription-manager release --set=<system version number>

3.2.3.2 修改对应系统版本的案例

(只在 client servers 上执行以下步骤)

# subscription-manager release -–set=7.5 

(补充:这里的 7.5 是一个系统的版本号)

(注意:这里如果低版本的系统选择了高版本的软件源库,则在更新软件的过程中可能会直接升级系统)

3.3 在选择了一个系统版本之后选择里面的软件源
3.3.1 查看软件源
3.3.1.1 查看客户端服务器目前正在使用的软件源

(只在 client servers 上执行以下步骤)

# subscription-manager repos --list-enable

3.3.1.2 查看客户端服务器所有可以用的软件源和正在使用的软件源

(只在 client servers 上执行以下步骤)

# subscription-manager repos --list

3.3.2 让客户端服务器启用一个软件源
3.3.2.1 启用一个软件源的格式

(只在 client servers 上执行以下步骤)

# subscription-manager repos --enable=<software source name>

3.3.2.2 启用一个软件源的案例

(只在 client servers 上执行以下步骤)

# subscription-manager repos --enable=rhel-7-server-satellite-tools-6.3-rpms

(补充:这里以启动 rhel-7-server-satellite-tools-6.3-rpms 软件源为例)

3.3.3 让客户端服务器禁用一个软件源
3.3.3.1 禁用一个软件源的格式

(只在 client servers 上执行以下步骤)

# subscription-manager repos --disable=<software source name>

3.3.3.2 禁用一个软件源的案例

(只在 client servers 上执行以下步骤)

# subscription-manager repos –disable=rhel-7-server-satellite-tools-6.2-rpms

(补充:这里以禁止 rhel-7-server-satellite-tools-6.3-rpms 软件源为例)

3.4 刷新所有的设置

# subscription-manager refresh