温馨提示×

如何导出nohup日志内容

小樊
55
2026-09-12 10:14:32
栏目: 编程语言

nohup 命令通常会把输出写入当前目录下的 nohup.out 文件(除非你手动重定向了输出)。下面按常见场景说明如何“导出 / 获取 / 查看” nohup 日志内容


一、默认情况(nohup.out)

如果你是这样启动的:

nohup python app.py &

日志默认在:

./nohup.out

查看日志

cat nohup.out
less nohup.out
tail -f nohup.out   # 实时查看

导出 / 拷贝日志

cp nohup.out /tmp/app.log
scp nohup.out user@host:/path/

二、自定义输出文件(更推荐)

启动时就指定日志文件:

nohup python app.py > app.log 2>&1 &
  • > app.log:标准输出
  • 2>&1:错误输出也写入

查看 / 导出

tail -f app.log
cp app.log /backup/

三、实时导出日志(边跑边存)

nohup python app.py | tee app.log &

或导出到远程:

nohup python app.py | tee app.log | ssh user@host "cat > remote.log" &

四、从正在运行的进程导出(不改启动方式)

如果进程已经在跑,且日志在 nohup.out

cp /proc/<PID>/fd/1 app.log

查看 PID:

ps -ef | grep app.py

五、按时间导出部分日志

sed -n '/2026-01-21 10:00/,/2026-01-21 12:00/p' nohup.out > part.log

六、常见问题

1. nohup.out 很大

: > nohup.out   # 清空(不杀进程)

2. 日志不更新

  • 程序用了缓冲(Python 加 -u):
nohup python -u app.py > app.log 2>&1 &

如果你愿意,可以告诉我:

  • 你用的是 Python / Java / Shell
  • 本地导出 还是 远程服务器
  • 是否需要 自动归档 / 切割日志

我可以给你更合适的方案。

0