nohup 日志时间不对,通常不是 nohup 本身的问题,而是日志内容的时间来源或系统环境导致的。下面按常见原因给你系统梳理一下,并给出对应解决办法。
nohup 不会给日志加时间戳
日志里看到的时间,一般是:
print(time.strftime(...)))✅ 所以:时间不对 ≠ nohup 有问题
print(datetime.datetime.now())
如果系统时区不对,时间就会错。
✅ 检查系统时间
date
timedatectl
✅ 检查程序时区(Python 示例)
import time
print(time.tzname)
如果你是在 Docker / Kubernetes 里跑的:
docker exec -it 容器id date
-v /etc/localtime:/etc/localtime:ro
-v /etc/timezone:/etc/timezone:ro
TZ=Asia/Shanghai
例如:
10:0018:00(UTC+8)但程序用的是 UTC
✅ 解决:让程序使用本地时区
✅ 解决(Python 示例)
nohup python -u app.py > nohup.out 2>&1 &
或
print(xxx, flush=True)
✅ 检查
timedatectl status
✅ 同步时间
ntpdate ntp.aliyun.com
# 或
chronyd
date 看系统时间对不对nohup java -jar app.jar > nohup.out 2>&1 &
<timestamp key="bySecond" datePattern="yyyyMMddHHmmss"/>
或设置 JVM 时区:
-Duser.timezone=Asia/Shanghai
nohup 不会记录时间,日志时间不对一定是程序、时区或系统时间的问题。
如果你愿意,可以把:
贴出来,我可以直接帮你精准定位 ✅