在 CentOS 上“导出 Java 日志”通常有以下几种常见场景,下面按最常用方式给你说明:
Java 应用日志一般在:
/opt/xxx/logs//usr/local/tomcat/logs/nohup.out 或指定 log 文件/var/log/messages(少见)ls -lh /opt/your_app/logs/
方式 A:使用 scp(本地执行)
scp root@centos_ip:/opt/your_app/logs/app.log ./
方式 B:服务器打包后下载
tar -zcvf java_logs.tar.gz /opt/your_app/logs/
然后用:
scp root@centos_ip:/root/java_logs.tar.gz ./
如果是用 nohup 启动的:
nohup java -jar app.jar > app.log 2>&1 &
导出:
cp app.log /tmp/app.log
或实时查看并保存:
tail -f app.log > export.log
find / -name "hs_err_pid*.log"
通常在当前目录或 /tmp
jps
jstack <pid> > thread_dump.log
如果启动参数有:
-Xloggc:/var/log/gc.log
直接:
cp /var/log/gc.log ./
如果是 systemd 启动的 Java 服务:
journalctl -u your-java-service > java_service.log
导出最近 100 行:
journalctl -u your-java-service -n 100 > java.log
mkdir /tmp/javalog
cp /opt/app/logs/*.log /tmp/javalog/
jstack $(jps | grep app | awk '{print $1}') > /tmp/javalog/thread.txt
tar -zcvf javalog.tar.gz /tmp/javalog
如果你能告诉我:
我可以给你更精确的命令。