为什么要进行Linux的时间管理?
在Windwos中,系统时间的设置很简单,界面操作,通俗易懂,而且设置后,重启,关机都没关系。系统时间会自动保存在BIOS时钟里面,启动计算机的时候,系统会自动在BIOS里面取硬件时间,以保证时间的不间断。但在Linux下,默认情况下,系统时间和硬件时间并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运行,是靠BIOS电池来维持,而系统时间,是用CPU Tick来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。
Linux系统时间设置
查看当前时间:date
当前时间为11月11日11时11分31秒
date 11111111是将当前时间改为11月11日11时11分整
注意:数字不能超过时间的限制条件
系统时间 date 直接调用 date,得到的是本地时间。如果想得到utc时间的话,使用 date -u
timedatectl管理系统时间
timedatectl | 查看当前时间 |
---|---|
timedatectl status | 显示当前时间信息 |
timedatectl set-time | 设定当前时间 |
timedatectl set-timezone | 设定当前时区 |
timedatectl set-local-rtc 0/1 | 设定是否使用utc时间 |
timedatectl list-timezones | 查看支持的所有时区 |
列出支持的所有时区:
设定当前时区为亚洲-上海:
设定当前时间:
设定硬件时间为通用时间:
设定硬件时间和本地时间相同:
注意:
/etc/adjtime可以查看硬件时间使用的是哪个时间
用date修改时间不会同步到硬件,如果需要同步到硬件需要用timedatectl命令。
时间同步服务
服务名称: chrony
在服务端;
在客户端:
时间同步测试:
注:
两边一定要同时关闭防火墙,否则同步失败
当*出现后两边时间还不一致是因为时区问题,不在同一个时区