Linux系统之时间管理

时间:2023-02-19 22:01:13

(Linux系统之时间管理)

一、date命令介绍

1.date帮助

[root@tianyi ~]# date
Mon Sep  6 20:56:57 CST 2021
[root@tianyi ~]# date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.


时间方面:

% : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
日期方面:

%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)

2.查询系统时间

①查询电脑硬件时间

[root@tianyi backups]# hwclock 
2011-08-12 02:47:24.886129+08:00
[root@tianyi backups]# 

②查询UTC时间

UTC:世界统一时间

[root@tianyi backups]# timedatectl 
               Local time: Fri 2011-08-12 02:15:40 CST
           Universal time: Thu 2011-08-11 18:15:40 UTC
                 RTC time: Mon 2021-09-06 14:06:56
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no

③查询系统时间

[root@tianyi ~]# date
Mon Sep  6 21:08:49 CST 2021

④特定时间格式输出系统时间

[root@tianyi ~]# date "+%Y-%m-%d %H:%M:%S"
2021-09-06 21:20:03
[root@tianyi ~]# 

⑤查询电脑所有时间信息

[root@tianyi backups]# timedatectl 
               Local time: Fri 2011-08-12 03:04:41 CST
           Universal time: Thu 2011-08-11 19:04:41 UTC
                 RTC time: Thu 2011-08-11 19:04:11
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no
[root@tianyi backups]# 

三、修改系统时间

1.使用-s选项修改

[root@tianyi ~]# date -s "2021-09-06 21:24:00"
Mon Sep  6 21:24:00 CST 2021
[root@tianyi ~]# 

2.直接修改

数字为月日时分年.秒

[root@tianyi ~]# date 090621282021.28
Mon Sep  6 21:28:28 CST 2021
[root@tianyi ~]# date "+%Y-%m-%d %H:%M:%S"
2021-09-06 21:28:30

3.硬件时间向系统时间同步

[root@tianyi backups]# hwclock  -w
[root@tianyi backups]# 

4.系统时间向硬件时间同步

[root@tianyi backups]# hwclock -s
[root@tianyi backups]# 


四、修改时区

[root@tianyi backups]# timedatectl list-timezones |grep Shanghai
Asia/Shanghai
[root@tianyi backups]# timedatectl set-timezone 
Display all 426 possibilities? (y or n)^C
[root@tianyi backups]# timedatectl set-timezone Asia/Shanghai
[root@tianyi backups]# 

四、在shell脚本应用

[root@tianyi tmp]# cp -r /etc /backups/etc_$(date +%Y%m%d%H%M%S)
[root@tianyi tmp]# cd /backups/
[root@tianyi backups]# ls
etc_20210906214116
[root@tianyi backups]# 

五、ntp服务器

1.检查chrony服务

[root@tianyi backups]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:chronyd(8)
           man:chrony.conf(5)
[root@tianyi backups]# 

2.开启chrony服务

[root@tianyi backups]# systemctl enable --now chronyd
Created symlink /etc/systemd/system/multi-user.target.wants/chronyd.service → /usr/lib/systemd/system/chronyd.service.
[root@tianyi backups]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-09-06 21:54:47 CST; 1s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)

3.编辑chrony.conf配置文件

[root@tianyi backups]# vim /etc/chrony.conf 
[root@tianyi backups]# 
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
pool ntp.aliyun.com iburst

4.重启服务并查看同步状态


[root@tianyi backups]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 203.107.6.88                  2   6    37    60   +311us[-1713us] +/-   29ms
[root@tianyi backups]# 

5.立即同步ntp服务器

[root@tianyi backups]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 203.107.6.88                  2   6    17     3   +305us[ +387us] +/-   28ms
[root@tianyi backups]# timedatectl 
               Local time: Mon 2021-09-06 23:24:22 CST
           Universal time: Mon 2021-09-06 15:24:22 UTC
                 RTC time: Thu 2011-08-11 19:36:12
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
[root@tianyi backups]# date
Mon Sep  6 23:24:38 CST 2021
[root@tianyi backups]# hwclock -w
[root@tianyi backups]# timedatectl 
               Local time: Mon 2021-09-06 23:24:51 CST
           Universal time: Mon 2021-09-06 15:24:51 UTC
                 RTC time: Mon 2021-09-06 15:24:51
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
[root@tianyi backups]#