容器修改时间方案
工具地址:https://github.com/wolfcw/libfaketime
需求:在K8S的pod中修改时间来测试Java程序功能,java启动为Tomcat方式。
安装libfaketime:
wget https://github.com/wolfcw/libfaketime/archive/refs/tags/v0.9.10.tar.gz && tar xf v0.9.10.tar.gz && cd libfaketime-0.9.10 && yum install -y gcc make && make && make install
将下面内容追加到 startenv.sh
export LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1
export FAKETIME="2023-07-19 12:34:56"
export FAKETIME_DONT_FAKE_MONOTONIC=1 #不加的话 JAVA服务会一直挂起
export FAKETIME_FORCE_MONOTONIC_FIX=0 #不加的话 启动tomcat 会等10分钟才开始启动,原因未知
保证启动用户相同
我这里是root执行,然后tomcat启动脚本中又切换到了tomcat用户启动,遇到了这个问题
重启服务即可