nohup 本身不会记录日志时间,它只是把程序输出重定向到文件(如 nohup.out)。
所谓“日志时间不对”,通常有以下几种情况和对应解决办法:
nohup.out 里只有程序输出,没有时间戳。
✅ 解决:让程序自己打时间
logging 并设置 format 带时间logback / log4jecho "$(date '+%F %T') some log" >> nohup.out
常见于 Docker、云服务器。
✅ 检查时区
date
timedatectl
✅ 修正时区(以中国为例)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
你指的是 ps / top 里看到的时间不对。
✅ 那其实是 进程启动时间,由系统决定:
date
ntpdate pool.ntp.org
# 或
timedatectl set-ntp true
容器和系统时间不一致。
✅ 启动容器时挂载时区:
-v /etc/localtime:/etc/localtime:ro
可能是:
date # 系统时间
timedatectl # 时区
cat /etc/timezone # 时区文件
如果你能具体说:
我可以直接给你最精确的改法。