怎么查看服务器上的网站,ps ui做响应式网站要求,专注wordpress主题,网络推广怎么入门chrony介绍和安装
1.chrony#xff08;时间同步服务#xff09;
1.1 chrony介绍 Chrony 是一个用于时间同步的软件#xff0c;它旨在提供高精度的系统时钟同步。Chrony 软件包括一个 NTP#xff08;Network Time Protocol#xff0c;网络时间协议#xff09;服务器和客…chrony介绍和安装
1.chrony时间同步服务
1.1 chrony介绍 Chrony 是一个用于时间同步的软件它旨在提供高精度的系统时钟同步。Chrony 软件包括一个 NTPNetwork Time Protocol网络时间协议服务器和客户端可以帮助计算机系统与网络时间服务器同步以确保系统时钟的准确性。
以下是 Chrony 的一些关键特点和功能
高精度时钟同步Chrony 旨在提供比传统的 NTP 实现更高精度的时钟同步。它采用一些先进的算法和技术例如平滑过渡和时钟漂移补偿以确保系统时钟能够尽可能准确地与参考时间源同步。网络时间协议支持Chrony 支持 NTP 协议可以与外部的 NTP 服务器进行通信从而获取准确的时间信息。这使得计算机系统可以通过网络与可靠的时间源进行同步以消除时钟漂移和误差。灵活的配置选项Chrony 提供了丰富的配置选项允许管理员根据特定的需求和环境对时钟同步进行定制。管理员可以设置不同的 NTP 服务器、调整同步频率和优先级等参数。容错和稳健性Chrony 具有一定的容错机制可以处理网络中断、临时不可用的时间服务器或其他异常情况。它可以自动调整同步策略以确保系统时钟的稳定性和准确性。系统时钟管理除了作为 NTP 客户端Chrony 还可以作为系统时钟管理工具监视和调整系统时钟以确保其精度和稳定性。
总之Chrony 是一个功能强大的时间同步工具适用于需要高精度时钟同步的计算机系统尤其是对时间同步精度要求较高的服务器和网络设备。通过使用 Chrony用户可以确保其系统时钟与外部时间源同步从而提高计算机系统的时间准确性和稳定性。
chrony官网https://chrony-project.org
chrony官方文档https://chrony-project.org/documentation.html
1.2 chrony 文件组成
包chrony
两个主要程序chronyd和chronyc
chronyd后台运行的守护进程用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率并对此进行补偿chronyc命令行用户工具用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作也可在一台不同的远程计算机上工作
服务unit 文件 /usr/lib/systemd/system/chronyd.service
监听端口 服务端: 123/udp,客户端: 323/udp
配置文件 /etc/chrony.conf
1.3 配置文件chrony.conf
server - 可用于时钟服务器iburst 选项当服务器可达时发送一个八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度driftfile - 根据实际时间计算出计算机增减时间的比率将它记录到一个文件中会在重启后为系统时钟作出补偿rtcsync - 启用内核模式系统时间每11分钟会拷贝到实时时钟RTCallow / deny - 指定一台主机、子网或者网络以允许或拒绝访问本服务器cmdallow / cmddeny - 可以指定哪台主机可以通过chronyd使用控制命令bindcmdaddress - 允许chronyd监听哪个接口来接收由chronyc执行的命令makestep - 通常chronyd将根据需求通过减慢或加速时钟使得系统逐步纠正所有时间偏差。在某些特定情况下系统时钟可能会漂移过快导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时调整系统时钟local stratum 10 - 即使server指令中时间服务器不可用也允许将本地时间作为标准时间授时给其它客户端2.chrony安装
2.1 主机初始化
2.1.1 设置网卡名和ip地址
Rocky 9和CentOS Stream 9
# Rocky 9和CentOS Stream 9默认支持修改网卡名。
[rootrocky9 ~]# grep plugins /etc/NetworkManager/NetworkManager.conf
#pluginskeyfile,ifcfg-rh
# 因为网卡命名方式默认是keyfile默认不支持修改网卡名既然官方已经默认是keyfile那这里就不去更改网卡名了。[rootrocky9 ~]# ETHNAMEip addr | awk -F[ :] /^2/{print $3}[rootrocky9 ~]# nmcli con delete ${ETHNAME} nmcli connection add type ethernet con-name ${ETHNAME} ifname ${ETHNAME} ipv4.method manual ipv4.address 172.31.0.9/21 ipv4.gateway 172.31.0.2 ipv4.dns 223.5.5.5,180.76.76.76 autoconnect yes nmcli con reload nmcli con up ${ETHNAME}
# 172.31.0.9/21中172.31.0.9是ip地址21是子网位数172.31.0.2是网关地址223.5.5.5, 180.76.76.76都是DNS根据自己的需求修改。[rootrocky9 ~]# ip addr
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens160: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:37:62:95 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 172.31.0.9/21 brd 172.31.7.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet6 fe80::51ca:fd5d:3552:677d/64 scope link noprefixroute valid_lft forever preferred_lft forever
# 可以看到ip地址已修改。Rocky 8、CentOS Stream 8和CentOS 7
# Rocky 8、CentOS Stream 8和CentOS 7支持修改网卡名。
[rootrocky8 ~]# grep plugins /etc/NetworkManager/NetworkManager.conf
#pluginsifcfg-rh
# 因为网卡命名方式默认是ifcfg-rh支持修改网卡名。# 修改网卡名称配置文件
[rootrocky8 ~]# sed -ri.bak /^GRUB_CMDLINE_LINUX/s$ net.ifnames0 biosdevname0 /etc/default/grub
[rootrocky8 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done# 修改网卡文件名
[rootrocky8 ~]# ETHNAMEip addr | awk -F[ :] /^2/{print $3}
[rootrocky8 ~]# mv /etc/sysconfig/network-scripts/ifcfg-${ETHNAME} /etc/sysconfig/network-scripts/ifcfg-eth0[rootrocky8 ~]# shutdown -r now[rootrocky8 ~]# nmcli dev
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected Wired connection 1
lo loopback unmanaged --
# 可以看到CONNECTION的名字是Wired connection 1要改名才可以下面设置。[rootrocky8 ~]# ETHNAMEip addr | awk -F[ :] /^2/{print $3}[rootrocky8 ~]# nmcli connection modify Wired connection 1 con-name ${ETHNAME}
[rootrocky8 ~]# nmcli dev
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged -- # 修改ip地址
[rootrocky8 ~]# nmcli con delete ${ETHNAME} nmcli connection add type ethernet con-name ${ETHNAME} ifname ${ETHNAME} ipv4.method manual ipv4.address 172.31.0.8/21 ipv4.gateway 172.31.0.2 ipv4.dns 223.5.5.5,180.76.76.76 autoconnect yes nmcli con reload nmcli dev up eth0
# 172.31.0.8/21中172.31.0.8是ip地址21是子网位数172.31.0.2是网关地址223.5.5.5, 180.76.76.76都是DNS根据自己的需求修改。[rootrocky8 ~]# ip addr
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:6f:65:d3 brd ff:ff:ff:ff:ff:ffaltname enp3s0altname ens160inet 172.31.0.8/21 brd 172.31.7.255 scope global noprefixroute eth0valid_lft forever preferred_lft foreverinet6 fe80::e9c9:aa93:4a58:2cc2/64 scope link noprefixroute valid_lft forever preferred_lft forever
# 重启系统后可以看到网卡名已经修改成eth0ip地址也已修改。Ubuntu
# Ubuntu先启用root用户并设置密码
raymondubuntu2204:~$ cat set_root_login.sh
#!/bin/bashread -p 请输入密码: PASSWORD
echo ${PASSWORD} |sudo -S sed -ri s#(PermitRootLogin )prohibit-password\1yes /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo -S passwd root -EOF
${PASSWORD}
${PASSWORD}
EOFraymondubuntu2204:~$ bash set_root_login.sh
请输入密码: 123456
[sudo] password for raymond: New password: Retype new password: passwd: password updated successfullyraymondubuntu2204:~$ rm -rf set_root_login.sh# 使用root登陆修改网卡名
rootubuntu2204:~# sed -ri.bak /^GRUB_CMDLINE_LINUX/s$net.ifnames0 biosdevname0 /etc/default/grub
rootubuntu2204:~# grub-mkconfig -o /boot/grub/grub.cfg
Sourcing file /etc/default/grub
Sourcing file /etc/default/grub.d/init-select.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-88-generic
Found initrd image: /boot/initrd.img-5.15.0-88-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done# Ubuntu 20.04设置ip地址
rootubuntu2004:~# cat /etc/netplan/00-installer-config.yaml -EOF
network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [172.31.0.20/21] gateway4: 172.31.0.2nameservers:addresses: [223.5.5.5, 180.76.76.76]
EOF
# 说明Ubuntu20.04网卡配置文件是00-installer-config.yaml172.31.0.20/21中172.31.0.20是ip地址21是子网位数172.31.0.2是网关地址223.5.5.5, 180.76.76.76都是DNS根据自己的需求修改。# Ubuntu 18.04设置ip地址
rootubuntu1804:~# cat /etc/netplan/01-netcfg.yaml -EOF
network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [172.31.0.18/21] gateway4: 172.31.0.2nameservers:addresses: [223.5.5.5, 180.76.76.76]
EOF
# 说明Ubuntu18.04网卡配置文件是01-netcfg.yaml172.31.0.18/21中172.31.0.18是ip地址21是子网位数172.31.0.2是网关地址223.5.5.5, 180.76.76.76都是DNS根据自己的需求修改。rootubuntu2004:~# shutdown -r nowrootubuntu2004:~# ip addr
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:e5:98:6f brd ff:ff:ff:ff:ff:ffinet 172.31.0.20/21 brd 172.31.7.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fee5:986f/64 scope link valid_lft forever preferred_lft forever
# 重启系统后可以看到网卡名已经修改成eth0ip地址也已修改。# Ubuntu 22.04设置ip地址
rootubuntu2204:~# cat /etc/netplan/00-installer-config.yaml -EOF
network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [172.31.0.22/21]routes:- to: defaultvia: 172.31.0.2nameservers:addresses: [223.5.5.5, 180.76.76.76]
EOF
# 说明Ubuntu 22.04网卡配置文件是00-installer-config.yaml172.31.0.22/21中172.31.0.22是ip地址21是子网位数172.31.0.2是网关地址Ubuntu 22.04设置网关地址的方法发生了改变参考上面的方法223.5.5.5, 180.76.76.76都是DNS根据自己的需求修改。rootubuntu2204:~# shutdown -r now# 重启后使用新设置的ip登陆
rootubuntu2204:~# ip addr
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:a7:be:f2 brd ff:ff:ff:ff:ff:ffaltname enp2s1altname ens33inet 172.31.0.22/21 brd 172.31.7.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fea7:bef2/64 scope link valid_lft forever preferred_lft forever
# 重启系统后可以看到网卡名已经修改成eth0ip地址也已修改。2.1.2 配置镜像源
Rocky 8和9
MIRRORmirrors.sjtug.sjtu.edu.cn
sed -i.bak -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://${MIRROR}/rocky|g /etc/yum.repos.d/[Rr]ocky*.repodnf clean all dnf makecacheCentOS Stream 9
cat update_mirror.pl
#!/usr/bin/perluse strict;
use warnings;
use autodie;# 要修改镜像源请去修改url变量
my $url mirrors.aliyun.com;
my $mirrors https://$url/centos-stream;if (ARGV 1) {die Usage: $0 filename1 filename2 ...\n;
}while (my $filename shift ARGV) {my $backup_filename $filename . .bak;rename $filename, $backup_filename;open my $input, , $backup_filename;open my $output, , $filename;while ($input) {s/^metalink/# metalink/;if (m/^name/) {my (undef, $repo, $arch) split /-/;$repo ~ s/^\s|\s$//g;($arch defined $arch ? lc($arch) : ) ~ s/^\s|\s$//g;if ($repo ~ /^Extras/) {$_ . baseurl${mirrors}/SIGs/\$releasever-stream/extras . ($arch eq source ? /${arch}/ : /\$basearch/) . extras-common\n;} else {$_ . baseurl${mirrors}/\$releasever-stream/$repo . ($arch eq source ? / : /\$basearch/) . ($arch ne ? ${arch}/tree/ : os) . \n;}}print $output $_;}
}rpm -q perl /dev/null || { echo -e \\033[01;31m 安装perl工具,请稍等...\033[0m;yum -y install perl ; }perl ./update_mirror.pl /etc/yum.repos.d/centos*.repodnf clean all dnf makecacheCentOS Stream 8
MIRRORmirrors.aliyun.com
sed -i.bak -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://mirror.centos.org/$contentdir|baseurlhttps://${MIRROR}/centos|g /etc/yum.repos.d/CentOS-*.repodnf clean all dnf makecacheCentOS 7
MIRRORmirrors.aliyun.com
sed -i.bak -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://mirror.centos.org|baseurlhttps://${MIRROR}|g /etc/yum.repos.d/CentOS-*.repoyum clean all yum makecacheUbuntu 22.04和20.04
MIRRORmirrors.aliyun.com
OLD_MIRRORsed -rn s^deb http(.*)://(.*)/ubuntu/? $(lsb_release -cs) main.*\2p /etc/apt/sources.listsed -i.bak s/${OLD_MIRROR}/${MIRROR}/g /etc/apt/sources.listapt updateUbuntu 18.04
MIRRORmirrors.aliyun.com
OLD_MIRRORsed -rn s^deb http(.*)://(.*)/ubuntu/? $(lsb_release -cs) main.*\2p /etc/apt/sources.listsed -i.bak s/${OLD_MIRROR}/${MIRROR}/g /etc/apt/sources.listSECURITY_MIRRORsed -rn s^deb http(.*)://(.*)/ubuntu $(lsb_release -cs)-security main.*\2p /etc/apt/sources.listsed -i.bak s/${SECURITY_MIRROR}/${MIRROR}/g /etc/apt/sources.listapt update2.1.3 关闭防火墙
# Rocky和CentOS
systemctl disable --now firewalld# CentOS 7
systemctl disable --now NetworkManager# Ubuntu
systemctl disable --now ufw2.1.4 禁用SELinux
#CentOS
setenforce 0
sed -i s#SELINUXenforcing#SELINUXdisabled#g /etc/selinux/config#Ubuntu
Ubuntu没有安装SELinux不用设置2.1.5 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo Asia/Shanghai /etc/timezone#Ubuntu还要设置下面内容
cat /etc/default/locale -EOF
LC_TIMEen_DK.UTF-8
EOF2.2 实现私有的时间服务器
2.2.1 服务端配置
[rootrocky9 ~]# hostname -I
172.31.0.9# Rocky和CentOS
[rootrocky9 ~]# yum -y install chrony# Ubuntu
apt -y install chrony[rootrocky9 ~]# vim /etc/chrony.conf
-bash: vim: command not found
# Rocky和CentOS默认没有安装vim# 安装vim
[rootrocky9 ~]# yum -y install vim[rootrocky9 ~]# vim /etc/chrony.conf
# 下面是ntp服务器
server ntp.aliyun.com iburst
server time1.cloud.tencent.com iburst
server ntp.tuna.tsinghua.edu.cn iburst# 把下面内容
#allow 192.168.0.0/16
# 修改为
allow 0.0.0.0/0 # 指定允许同步的网段# 把下面内容去掉注释
#local stratum 10
# 修改为
local stratum 10 # 当互联网无法连接,仍然可以为客户端提供时间同步服务# Rocky和CentOS使用下面命令直接替换
sed -i -e /^pool.*/d -e /^server.*/d -e /^# Please consider .*/a\server ntp.aliyun.com iburst\nserver time1.cloud.tencent.com iburst\nserver ntp.tuna.tsinghua.edu.cn iburst -e s^#allow.*allow 0.0.0.0/0 -e s^#local.*local stratum 10 /etc/chrony.conf# Ubuntu使用下面命令替换
sed -i -e /^pool.*/d -e /^# See http:.*/a\server ntp.aliyun.com iburst\nserver time1.cloud.tencent.com iburst\nserver ntp.tuna.tsinghua.edu.cn iburst /etc/chrony/chrony.conf[rootrocky9 ~]# systemctl restart chronyd
[rootrocky9 ~]# systemctl enable --now chronyd[rootrocky9 ~]# ss -ntul
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
udp UNCONN 0 0 [::1]:323 [::]:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 [::]:22 [::]:*
# 服务启动后会打开端口123/udp[rootrocky9 ~]# chronyc sources -nv
MS Name/IP address Stratum Poll Reach LastRx Last sample ^* 203.107.6.88 2 6 377 34 1042us[3109us] /- 63ms # 带*星号表示是从这个时间服务器同步的时间。
^- 106.55.184.199 2 6 377 99 5187us[7169us] /- 60ms
^? 101.6.6.172 0 8 0 - 0ns[ 0ns] /- 0ns2.2.2 客户端配置
# Rocky和CentOS
[rootrocky8 ~]# yum -y install chrony
# Ubuntu
apt -y install chrony[rootrocky8 ~]# vim /etc/chrony.conf
-bash: vim: command not found
# Rocky和CentOS默认没有安装vim# 安装vim
[rootrocky8 ~]# yum -y install vim[rootrocky8 ~]# vim /etc/chrony.conf
# 添加ntp服务端
server 172.31.0.9 iburst# Rocky和CentOS使用下面命令直接替换
sed -i -e /^pool.*/d -e /^server.*/d -e /^# Please consider .*/a\server 172.31.0.9 iburst /etc/chrony.conf# Ubuntu使用下面命令替换
sed -i -e /^pool.*/d -e /^# See http:.*/a\server 172.31.0.9 iburst /etc/chrony/chrony.conf[rootrocky8 ~]# systemctl restart chronyd
[rootrocky8 ~]# systemctl enable --now chronyd# 确认同步成功
[rootrocky8 ~]# chronyc sources -nv
MS Name/IP address Stratum Poll Reach LastRx Last sample ^* 172.31.0.9 3 6 17 18 -47us[ 43us] /- 60ms
# 带*星号表示是从这个时间服务器同步的时间。2.3 一键安装chrony脚本
Shell脚本源码地址
Giteehttps://gitee.com/raymond9/shell
Githubhttps://github.com/raymond999999/shell
可以去上面的Gitee或Github代码仓库拉取脚本。
2.3.1 一键安装chrony服务端脚本
[rootrocky9 ~]# cat install_chrony_server_v2.sh
#!/bin/bash
#
#*************************************************************************************************************
#Author: Raymond
#QQ: 88563128
#Date: 2024-01-19
#FileName: install_chrony_server_v2.sh
#URL: raymond.blog.csdn.net
#Description: install_chrony_server for CentOS 7 CentOS Stream 8/9 Ubuntu 18.04/20.04/22.04 Rocky 8/9
#Copyright (C): 2024 All rights reserved
#*************************************************************************************************************
COLORecho -e \\033[01;31m
END\033[0mos(){OS_IDsed -rn /^NAME/s.*([[:alpha:]]).*$\1p /etc/os-release
}install_chrony(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ] /dev/null;thenrpm -q chrony /dev/null || { ${COLOR}安装chrony包请稍等...${END};yum -y install chrony /dev/null; }sed -i -e /^pool.*/d -e /^server.*/d -e /^# Please consider .*/a\server ntp.aliyun.com iburst\nserver time1.cloud.tencent.com iburst\nserver ntp.tuna.tsinghua.edu.cn iburst -e s^#allow.*allow 0.0.0.0/0 -e s^#local.*local stratum 10 /etc/chrony.confsystemctl restart chronyd systemctl enable --now chronyd /dev/nullsystemctl is-active chronyd /dev/null || { ${COLOR}chrony 启动失败,退出!${END} ; exit; }${COLOR}chrony安装完成${END}elsedpkg -s chrony /dev/null || { ${COLOR}安装chrony包请稍等...${END};apt -y install chrony /dev/null; }apt -y install chrony /dev/nullsed -i -e /^pool.*/d -e /^# See http:.*/a\server ntp.aliyun.com iburst\nserver time1.cloud.tencent.com iburst\nserver ntp.tuna.tsinghua.edu.cn iburst /etc/chrony/chrony.confecho allow 0.0.0.0/0 /etc/chrony/chrony.confecho local stratum 10 /etc/chrony/chrony.confsystemctl restart chronyd systemctl enable --now chronyd /dev/nullsystemctl is-active chronyd /dev/null || { ${COLOR}chrony 启动失败,退出!${END} ; exit; }${COLOR}chrony安装完成${END}fi
}main(){osinstall_chrony
}main2.3.2 一键安装chrony客户端脚本
[rootrocky8 ~]# cat install_chrony_client_v2.sh
#!/bin/bash
#
#*************************************************************************************************************
#Author: Raymond
#QQ: 88563128
#Date: 2024-01-19
#FileName: install_chrony_client_v2.sh
#URL: raymond.blog.csdn.net
#Description: install_chrony_client for CentOS 7 CentOS Stream 8/9 Ubuntu 18.04/20.04/22.04 Rocky 8/9
#Copyright (C): 2021 All rights reserved
#*************************************************************************************************************
COLORecho -e \\033[01;31m
END\033[0m
SERVER172.31.0.9os(){OS_IDsed -rn /^NAME/s.*([[:alpha:]]).*$\1p /etc/os-release
}install_chrony(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ] /dev/null;thenrpm -q chrony /dev/null || { ${COLOR}安装chrony包请稍等...${END};yum -y install chrony /dev/null; }sed -i -e /^pool.*/d -e /^server.*/d -e /^# Please consider .*/a\server ${SERVER} iburst /etc/chrony.confsystemctl restart chronyd systemctl enable --now chronyd /dev/nullsystemctl is-active chronyd /dev/null || { ${COLOR}chrony 启动失败,退出!${END} ; exit; }${COLOR}chrony安装完成${END}elsedpkg -s chrony /dev/null || { ${COLOR}安装chrony包请稍等...${END};apt -y install chrony /dev/null; }sed -i -e /^pool.*/d -e /^# See http:.*/a\server ${SERVER} iburst /etc/chrony/chrony.confsystemctl restart chronyd systemctl enable --now chronyd /dev/nullsystemctl is-active chronyd /dev/null || { ${COLOR}chrony 启动失败,退出!${END} ; exit; }${COLOR}chrony安装完成${END}fi
}main(){osinstall_chrony
}mainctive chronyd /dev/null || { C O L O R c h r o n y 启动失败 , 退出 ! {COLOR}chrony 启动失败,退出! COLORchrony启动失败,退出!{END} ; exit; } C O L O R c h r o n y 安装完成 {COLOR}chrony安装完成 COLORchrony安装完成{END} else dpkg -s chrony /dev/null || { C O L O R 安装 c h r o n y 包请稍等 . . . {COLOR}安装chrony包请稍等... COLOR安装chrony包请稍等...{END};apt -y install chrony /dev/null; } sed -i -e ‘/^pool./d’ -e /^# See http:./a\server ‘${SERVER}’ iburst’ /etc/chrony/chrony.conf systemctl restart chronyd systemctl enable --now chronyd /dev/null systemctl is-active chronyd /dev/null || { C O L O R c h r o n y 启动失败 , 退出 ! {COLOR}chrony 启动失败,退出! COLORchrony启动失败,退出!{END} ; exit; } C O L O R c h r o n y 安装完成 {COLOR}chrony安装完成 COLORchrony安装完成{END} fi }
main(){ os install_chrony }
main