SUSE自动同步时间
服务器每天定时同步时间一次:
1
|
52 03 * * * /usr/sbin/ntpdate 10.x.x.x 10.10.x.x; /sbin/hwclock -w
|
可以配置自己局域网的服务器作为时间服务器,安装ntpdate工具,然后服务器配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
################################################################################
## /etc/ntp.conf
##
## Sample NTP configuration file.
## See package 'ntp-doc' for documentation, Mini-HOWTO and FAQ.
## Copyright (c) 1998 S.u.S.E. GmbH Fuerth, Germany.
##
## Author: Michael Andres, <ma@suse.de>
## Michael Skibbe, <mskibbe@suse.de>
##
################################################################################
server 127.127.1.0 # local clock (LCL)
fudge 127.127.1.0 stratum 10 # LCL is unsynchronized
# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default notrap nomodify nopeer noquery
restrict -6 default notrap nomodify nopeer noquery
# Local users may interrogate the ntp server more closely.
#restrict 127.0.0.1
#restrict ::1
driftfile /var/lib/ntp/drift/ntp.drift # path for drift file
logfile /var/log/ntp # alternate log file
keys /etc/ntp.keys # path for keys file
trustedkey 1 # define trusted keys
requestkey 1 # key (7) for accessing server variables
controlkey 1 # key (6) for accessing server variables
# ---------------------------------------------
# add by cd.net on 2018-05-21
disable monitor
restrict default ignore
restrict 127.0.0.1
restrict 10.10.11.0 mask 255.255.255.0 nomodify
|
时间服务器自己需要定时同步时间,然后再启动service服务,供内网其它服务器使用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/bin/bash
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Created by cd.net on 2020-04-25
# 下面的配置跑在 server 上面。 每8个小时和公网的时间服务器同步
# 0 */8 * * * /bin/sh /opt/tl_sentinel_client/shell/ntp/ntp_run_self.sh
systemctl stop ntpd.service
sleep 3
/usr/sbin/ntpdate ntp1.aliyun.com 0.cn.pool.ntp.org 0.uk.pool.ntp.org; /sbin/hwclock -w
systemctl start ntpd.service
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 下面这个一般用于 client 端,每天同步一次时间即可
#12 03 * * * /usr/sbin/ntpdate 10.10.11.11 10.10.11.12; /sbin/hwclock -w
|
CentOS8以上配置时间同步
CentOS8开始,默认不使用ntpdate同时时间,取而代之的是chrony。如果你还是想使用ntpdate命令,可以参考如下的安装方式:
1
2
3
|
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install wntp
ntpdate 10.10.11.xxx 10.10.200.xxx; /sbin/hwclock -w
|
但很可惜,CentOS上面ntp使用起来可能会报错了,推荐采用官方推荐的chrony服务。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# 服务器端配置
#vi /etc/chrony.conf [Server]
pool 2.centos.pool.ntp.org iburst # 源
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 10.10.0.0/16 # 服务的范围
local stratum 10 # 这行也要打开,否则客户端无法同步本机时间
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
# 客户端配置
#vi /etc/chrony.conf [Client]
pool 10.10.12.14 iburst # 配置本地源。或者写成:server 10.10.12.14 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
# 配置好参数之后,重启服务
systemctl status chronyd
systemctl restart chronyd
# 下面有一些命令工具
chronyc -a makestep # 手动同步一次时间
chronyc sources -v # 查看所以的同步源
chronyc sourcestats -v # 查看同步状态
chronyc tracking # 显示系统时间信息
chronyc # 进入控制台交互界面设置
timedatectl # 时间管理
timedatectl set-local-rtc 1 # 设置硬件时间,硬件时间默认为UTC
timedatectl set-ntp yes # 启用NTP时间同步
|
新一些的opensuse系统也可以采用 chrony 做时间同步,zypper in chrony 就好了,用法一样。
修改系统时区
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@master run]# date
Fri Apr 26 04:01:20 EDT 2019
# EDT时间为美国时间,把EDT改为CST(北京时间)即可,命令如下:
[root@master run]# mv /etc/localtime /etc/localtime.bak
[root@master run]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@master run]# date
Fri Apr 26 16:04:14 CST 2019
# opensuse可能没有时区文件,安装即可
zypper in -y timezone
zypper in -y chrony
|
参考:https://www.cnblogs.com/lizhaoxian/p/11260041.html
直接修改系统时间
1
2
3
|
date
date -s HH:MM:SS # 修改当前系统时间,重启失效
/sbin/hwclock -w # 保存修改的时间,重启也生效
|
系统字符编码
有时候系统设置的字符集语言包,系统本身并没有安装,导致下面语句运行的结果,而且查看文件会出现乱码。
1
2
3
4
5
6
7
|
[root@WEB-DB4 dxhj]# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
# 或者出现下面的错误
Failed to set locale, defaulting to C.UTF-8
|
-
报错原因:
-
解决方法1:安装语言包
- 设置语言环境需使用命令 locale
locale -a 命令,
查看目前系统已安装的语言包
- 安装中文语言包,命令
yum install glibc-langpack-zh
- 安装英文语言包,命令
glibc-langpack-en
或 langpacks-en glibc-all-langpacks
-
解决方法2:设置正确的语言环境
可以尝试将/etc/locale.conf
文件中的语言编码改成en_US
,然后重启系统。
[root@WEB-DB4 dxhj]# vi /etc/locale.conf
LANG="en_US.UTF-8"
或者按照下面的方法试一试:
1
2
3
4
|
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile
source /etc/profile
# 或使用命令locale -gen en_US.UTF-8
|
(完)