Linux 服务器修改时间与时间同步
一、设置时间
date --set '2015-11-23 0:10:40' # 方法一,通用
timedatectl set-time '2015-11-23 08:10:40' # 容器内可能不支持
二、设置时区
# 方法一,通用
# 对容器而言,也可以直接将宿主机的下面俩文件映射到容器内
# 或者有的容器支持使用环境变量
/bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone
# 方法二,容器内可能不支持
timedatectl set-timezone UTC
三、同步时间(一次性)
Alpine Linux: ntpd -d -q -n -p ntp3.aliyun.com
,立即同步时间,不限制同步间隔
CentOS/Ubuntu:
sudo apt-get install ntpdate # 或者 yum
ntpdate ntp3.aliyun.com
国内公共 ntp 服务器:
- 国家授时中心:ntp.ntsc.ac.cn
- 阿里云:ntp3.aliyun.com
四、时间同步服务(常驻后台)
建议用 chronyd,有 docker 的可以跑容器版本的 chronyd
五、只修改应用本身的时间:libfaketime
这种需求常见于时光旅行测试(Time-Travel Testing),需要修改应用的时间,以确认与时间相关的逻辑是否正确(比如订单是否过期之类的)。
为了不影响系统上别的软件,最好是只修改应用本身的时间,不会影响操作系统全局。比如对运行在 kubernetes 集群上的一套微服务进行时光旅行 API 测试,修改(节点)操作系统的时间很可能会导致集群节点故障。
libfaketime 可以通过环境变量 FAKETIME
很方便的设置 fake 的 time,而不影响系统上其他环境的应用。这可以保证别的程序不受系统时间跃迁的影响。
我实际测试这个库后发现:
- libfaketime 设置时间默认有 10s 的缓存,可通过设置环境变量 `FAKETIME_CACHE_DURATION 进行修改。参见 Time modification does not take effect immediately
- Python 能直接通过修改环境变量
FAKETIME
达到修改时间的目的。 - Dotnet 设置的环境变量
FAKETIME
对 libfaketime 无效,这可能和 dotnet 自身的环境变量模型有关。- dotnet 需要通过将参数写入
/etc/faketimerc
或$HOME/.faketimerc
修改时间。
- dotnet 需要通过将参数写入
- docker+dotnet+libfaketime 测试,发现性能问题比较严重。
修改环境变量的方法很方便,但不适合用于进程间相互修改时间(比如我 ssh 进容器改容器时间),有时可能会失效。而写入配置文件的方法可以跨进程通信,更可靠。
Linux 服务器修改时间与时间同步的更多相关文章
- linux服务器应用NTP配置时间同步
linux服务器应用NTP配置时间同步 • 为什么建议使用ntpd而不是ntpdate? #####原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18 ...
- Linux服务器修改时区时间
时间的一致性很关键,对于日志的分析和程序的对接都至关重要! 01.tzselect 修改时区 可以使用命令 tzselect,修改时区.操作示例: $ tzselect Please identify ...
- Linux查看修改时间、时区
同步网络时间 yum install ntpntpdate time.nist.gov timedatectl set-timezone Asia/Shanghai如果上面time.nist.gov服 ...
- Linux下修改时间时区的方法介绍
点评:在Linux中,用于时钟查看和设置的命令主要有date.hwclock和clock.其中,clock和 hwclock用法相近,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件 ...
- Linux服务器同步时间
进行Linux服务器的时间同步是一件需要注意的事情,不然,集群中的服务器时间不同将导致许多奇怪问题发生, 如果没有安装crontab,那么,使用yum install crontabs进行安装和启动, ...
- linux下修改时间和时区
一.修改linux的时间在root用户下,使用date指令:date -s1.只修改日期,不修改时间,输入: date -s -- 2.只修改时间,输入: date -s :: 3.同时修改日期时间, ...
- Linux下修改时间
修改linux的时间可以使用date指令 date命令的功能是显示和设置系统日期和时间. 输入date 查看目前系统时间. 修改时间需要 date -功能字符 修改内容 命令中各选项的含义分别为: - ...
- linux 下修改时间
修改linux的时间可以使用date指令 date命令的功能是显示和设置系统日期和时间. 输入date 查看目前系统时间. 修改时间需要 date -功能字符 修改内容 命令中各选项的含义分别为: - ...
- 云服务器linux系统修改时间和时区
申请的云服务器时间不对,用同步网络时间的命令执行后依然有问题. 解决办法: # tzselect [root@ylyuat2-web02 logs]# TZ='Asia/Shanghai'[root@ ...
随机推荐
- React Hooks介绍和环境搭建(一)
React Hooks 简介 2018年底FaceBook的React小组推出Hooks以来,所有的React的开发者都对它大为赞赏.React Hooks就是用函数的形式代替原来的继承类的形式,并且 ...
- 启动项目报错:Unsupported major.minor version 52.0
解决方案: 确保Build Path或者电脑配置的环境变量版本号,和pom中的一致 Exception in thread "main" java.lang.Unsupported ...
- BeanDefinitionParserDelegate与资源解析
继续上一次的分析 XmlBeanDefinitionReader.java 中 1.registerBeanDefinitions方法 documentReader.registerBeanDefin ...
- web-linux-shell实现 阿里方案canvas+wss。
wss://shell.aliyun.com/terminals?cols=92&rows=35 [root@webshell ~]# python Python 3.6.8 (default ...
- kafka笔记博客
大数据数据流组件选择: https://www.cnblogs.com/yinzhengjie/articles/11155051.html 初识Apache Kafka 核心概念: https:// ...
- AWS Fargate
AWS Lambda都是浮云,AWS Fargate才是王道——无服务器的未来,有我没你! - DockOne.iohttp://www.dockone.io/article/4656 通过 Farg ...
- Python3基础 九九乘法表
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- AD域 域管理员常用命令
简介: 暂时我需要管理60台终端计算机,但是分布的比较广泛,在我们单位整个场区零零散散的分布,巡检一圈仅步行时间就超过30分钟. 为了更好的管理终端计算机,现在正在实验性的配置域,用域来管理这些计算机 ...
- 抓取二维数组某值出来,到一维数组---array_column
/*** * '抓取二维数组某值出来,到一维数组' * @param $arr * @param $item * @return array */ function get_arr_item_val( ...
- 《MySQL必知必会》学习笔记——附录B 样例表
附录B 样例表 本附录简要描述本书中所用的表及它们的用途. 编写SQL语句需要对基础数据库的设计有良好的理解.不知道什么信息存储在什么表中,表之间如何关联以及行内数据如何分解,是不可能编写出高效的SQ ...