在 Linux 中,“导出指定日志”通常指把某个日志文件中你关心的内容筛选出来并保存成文件。下面按常见场景给你说明。
最简单的方式,直接复制:
cp /var/log/messages /home/user/messages.log
sed(按时间行筛选)假设日志格式包含时间,如:
Aug 10 10:00:01 ...
导出 10:00 到 11:00 的日志:
sed -n '/Aug 10 10:00/,/Aug 10 11:00/p' /var/log/messages > out.log
grep导出包含 error 的日志:
grep "error" /var/log/messages > error.log
忽略大小写:
grep -i "error" /var/log/messages > error.log
导出多个关键字(或关系):
grep -E "error|fail|timeout" /var/log/messages > issue.log
tail -n 200 /var/log/messages > last200.log
实时导出(追加):
tail -f /var/log/messages > live.log
journalctl -u nginx.service > nginx.log
journalctl --since "2024-08-10 10:00:00" --until "2024-08-10 11:00:00" > sys.log
journalctl | grep "error" > error.log
如果是 .gz 日志:
zcat /var/log/messages-20240810.gz > messages.log
或只导出关键字:
zgrep "error" /var/log/messages-*.gz > error.log
scp user@server:/var/log/messages ./messages.log
如果你能告诉我:
/var/log/xxx)systemd我可以给你一条精准命令。