[步骤] 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

(补充:此时 NTP service 的状态可能还不是 active 状态)

步骤四:修改配置文件

# 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

步骤六:显示客户端时间同步的状态

6.1 通过 NTP 命令显示

# ntpq -p


补充:
1) 此命令可能会显示多行,每一行显示一个时钟源的状态
2) 最左边有一个星号 “*” 的行代表目前正在被使用的时钟源,这代表这个时钟源可以被使用且最精确

6.2 通过 timedatectl 命令显示

# 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

(补充:如果 NTP 时间同步正常,则此时 NTP service 的状态肯定是 active 状态)

[步骤] Red Hat Satellite 客户端设置 (软件源)

步骤一:软件源所对应的系统版本设置

1.1 显示客户端服务器现在正在使用的软件源库所对应的系统版本

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

# subscription-manager release --show

1.2 显示客户端服务器所有可以使用的软件源所对应的系统版本

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

# subscription-manager release –-list

步骤二:修改客户端服务器的软件源对应的系统版本

2.1 修改对应系统版本的格式

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

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

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

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

# subscription-manager release -–set=7.5 

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

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

步骤三:在选择了 1 个系统版本之后选择里面的软件源

3.1 显示软件源

3.1.1 显示客户端服务器目前正在使用的软件源

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

# subscription-manager repos --list-enable
3.1.2 显示客户端服务器所有可以用的软件源和正在使用的软件源

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

# subscription-manager repos --list

3.2 让客户端服务器启用 1 个软件源

3.2.1 启用 1 个软件源的格式

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

# subscription-manager repos --enable=<software source name>
3.2.2 启用 1 个软件源的案例

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

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

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

3.3 让客户端服务器禁用 1 个软件源

3.3.1 禁用 1 个软件源的格式

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

# subscription-manager repos --disable=<software source name>
3.3.2 禁用 1 个软件源的案例

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

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

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

3.4 让客户端服务器同时启用或禁用 1 个或多个软件源

# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms;subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms;subscription-manager repos --disable=satellite-tools-6.10-for-rhel-8-x86_64-rpms

(补充:这里以启动 rhel-8-for-x86_64-baseos-rpms;subscription-manager 软件源和 rhel-8-for-x86_64-appstream-rpms;subscription-manager 软件源,禁用 satellite-tools-6.10-for-rhel-8-x86_64-rpms 软件源为例)

3.5 刷新所有的设置

# subscription-manager refresh

[内容] 第三方软件源的使用 (通过 webtatic 安装 php)(CentOS Linux & RHEL 版)

内容一:为什么使用第三方软件源

本地搭建的软件源往往会有以下缺点:

1) 软件不够全,需要使用的软件没有
2) 软件版本不够高,在功能、性能和安全方面达不到要求
3) 使用第三方网络软件源有时可以解决以上问题

内容二:webtatic

2.1 webtatic 源简介

1) webtatic 是一个致力于将实现 web 服务的各类软件
2) webtatic 通过 yum 安装
3) webtatic 是一个免费的开源 yum 源项目


注意:
1) webtatic 项目并没有在社区认可的软件源列表中:
2) 社区认可的软件源列表网址:https://wiki.centos.org/zh/AdditionalResources/Repositories

2.2 使用 webtatic 的方法


注意:
1) 如果过去已经使用了其他的第三方 yum 源,最好先删除原来的第三方 yum 源
2) 如果过去已经安装了相应的软件,最好先删除这些软件而不是使用第三方 yum 源对他们进行升级

2.2.1 安装 webtatic 的 epel
# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
2.2.2 安装 webtatic
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2.2.3 清理原来的 yum 源缓存
# yum clean all
2.2.4 此时可以开始安装软件了
2.2.4.1 显示所有软件列表
# yum list all
2.2.4.2 安装想要的软件爱你

# yum install <softeware>

2.2.5 删除 webtatic
# rpm -e epel-release ;; rpm -e webtatic-release

[工具] Shell 统计 LNMP 本月与上月的网站点击量和 IP 访问数

介绍

基本信息

作者:朱明宇
名称:统计 LNMP 本月与上月的网站点击量和 IP 访问数
作用:统计 LNMP 本月与上月的网站点击量和 IP 访问数

使用方法

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

脚本分割线里的变量

1. user=”root” #登录 Web 服务器的用户,请确保这个用户有创建缓存备份目录的权限
2. ip=”8.8.8.8″ #Web 服务器的 IP 地址

注意

此脚本执行前必须要先保证执行脚本的主机能无秘钥远程这台 Web 服务器

脚本

#!/bin/bash

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

user="root"
ip="8.8.8.8"

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

monthcache1=$(date +%m)
case $monthcache1 in
01)
month=Jan
lmonth=Dec;;
02)
month=Feb
lmonth=Jan;;
03)
month=Mar
lmonth=Feb;;
04)
month=Apr
lmonth=Mar;;
05)
month=May
lmonth=Apr;;
06)
month=June
lmonth=May;;
07)
month=July
lmonth=June;;
08)
month=Aug
lmonth=July;;
09)
month=Sept
lmonth=Aug;;
10)
month=Oct
lmonth=Sept;;
11)
month=Nov
lmonth=Oct;;
12)
month=Dec
lmonth=Nov
esac

cmonth=`ssh $user@$ip "grep $month /usr/local/nginx/logs/access.log | wc -l"`
clmonth=`ssh $user@$ip "grep $lmonth  /usr/local/nginx/logs/access.log | wc -l"`
cipmonth=`ssh $user@$ip "grep $month /usr/local/nginx/logs/access.log" | awk '{a[$1]++}END{for(i in a){print i}}' | wc -l `
ciplmonth=`ssh $user@$ip "grep $lmonth /usr/local/nginx/logs/access.log" | awk '{a[$1]++}END{for(i in a){print i}}' | wc -l`

echo "The count of month's hits:$cmonth 次"
echo "The count of month's IP address:$cipmonth 个"
echo "The count of last month's hits:$clmonth 次"
echo "The count of last month's IP address:$ciplmonth 个"

[工具] Shell 统计 LNMP 今天与昨天的网站点击量和 IP 访问数

介绍

基本信息

作者:朱明宇
名称:统计 LNMP 今天与昨天的网站点击量和 IP 访问数
作用:统计 LNMP 今天与昨天的网站点击量和 IP 访问数

使用方法

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

脚本分割线里的变量

1. user=”root” #登录 Web 服务器的用户,请确保这个用户有创建缓存备份目录的权限
2. ip=”8.8.8.8″ #Web 服务器的 IP

注意

此脚本执行前必须要先保证执行脚本的主机能无秘钥远程这台 Web 服务器

脚本

#!/bin/bash

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

user="root"
ip="8.8.8.8"

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

tday=`date +%d`

sys=`uname -a | awk '{print $1}'`

if [ $sys == 'Linux' ];then
        yday=`date +%d -d "-1 day"`
else
        yday=`date -v-1d +%d`
fi

cday=`ssh $user@$ip "grep $tday/$month  /usr/local/nginx/logs/access.log | wc -l"`
cyday=`ssh $user@$ip "grep $yday/$month  /usr/local/nginx/logs/access.log | wc -l"`
cipday=`ssh $user@$ip "grep $tday/$month  /usr/local/nginx/logs/access.log" |awk '{a[$1]++}END{for(i in a){print i}}' | wc -l`
cipyday=`ssh $user@$ip "grep $yday/$month  /usr/local/nginx/logs/access.log" |awk '{a[$1]++}END{for(i in a){print i}}' | wc -l`

echo "The count of today's hits:$cday 次"
echo "The count of today's IP address:$cipday 个"
echo "The count of yesterday's hits:$cyday 次"
echo "The count of yesterday's IP address:$cipyday 个"