在 Linux 中,syslog(系统日志)的导出方式取决于你使用的发行版和日志系统(传统 syslog / rsyslog / syslog-ng / systemd-journald)。下面按常见场景给你一个实用速查表。
ps -ef | grep -E 'rsyslog|syslog-ng|systemd-journal'
常见情况:
| 日志类型 | 文件路径 |
|---|---|
| 系统日志 | /var/log/messages(RHEL/CentOS) |
| 系统日志 | /var/log/syslog(Ubuntu/Debian) |
| 认证日志 | /var/log/secure 或 /var/log/auth.log |
| 内核日志 | /var/log/kern.log |
| 应用日志 | /var/log/ 下对应目录 |
cp /var/log/syslog /tmp/syslog_export.log
grep "2025-01-20" /var/log/syslog > syslog_20250120.log
tail -n 1000 /var/log/syslog > syslog_last_1000.log
grep sshd /var/log/secure > sshd.log
journalctl > all_syslog.log
journalctl --since "2025-01-20 00:00:00" --until "2025-01-20 23:59:59" > syslog.log
journalctl -u sshd > sshd.log
journalctl --output=export > syslog.journal
tail -f /var/log/syslog > syslog_realtime.log
rsync -avz user@server:/var/log/syslog ./
tar czf syslog_export.tar.gz /var/log/syslog
或:
gzip syslog.log
journalctl -u sshd --since "09:00" --until "10:00" > sshd_9to10.log
dmesg > dmesg.log
日志可能被 logrotate 切分:
ls /var/log/syslog*
例如:
syslog
syslog.1
syslog.2.gz
导出时注意一起处理。
老系统看
/var/log/文件,新系统用journalctl,按需过滤后重定向导出即可。
如果你能告诉我:
我可以给你一条精准命令。