一、系统日志管理
Linux 系统的日志记录了内核、服务、用户操作的全量事件,是排查故障、审计安全的关键依据。红帽 Linux 采用 systemd-journald 与 rsyslog 协同的日志架构,兼顾实时性与持久性。
(一)核心日志架构与关键文件
日志服务分工
systemd-journald:系统日志核心服务,收集系统内核、启动过程、守护进程的输出,将日志整理为带索引的结构化格式,默认存储在 /run/log/journal(内存目录,重启后丢失)。rsyslog:读取 systemd-journald 中的 syslog 消息,按程序类型和优先级分类,写入 /var/log 下的持久化文件。
/var/log 核心日志文件速查
| /var/log/messages | 大多数系统日志(排除认证、邮件、定时任务) | 通用系统故障排查 |
| /var/log/secure | 身份验证、安全事件相关 syslog 消息 | 登录异常、权限问题审计 |
| /var/log/maillog | 邮件服务器相关 syslog 消息 | 邮件服务故障排查 |
| /var/log/cron | 定时任务(cron/anacron)相关消息 | 定时任务执行失败排查 |
| /var/log/boot.log | 系统启动非 syslog 控制台消息 | 启动过程故障定位 |
(二)journalctl:结构化日志查询利器
journalctl 是操作 systemd 日志的专用命令,支持按时间、优先级、服务等维度精准过滤,普通用户可查看自身日志,root 用户拥有全量权限。
| journalctl | 查看所有日志 | 全量日志检索 |
| journalctl -n 5 | 查看最后 5 条日志 | 快速查看最新事件 |
| journalctl -f | 实时跟踪日志(类似 tail -f) | 监控服务实时运行状态 |
| journalctl -b 1 | 查看第一次系统启动后的日志 | 跨重启定位启动故障 |
| journalctl –list-boots | 列出系统所有启动事件 | 确定启动编号,精准过滤 |
journalctl 会将 notice、warning 级日志标为粗体,error 级以上标为红色,便于快速识别异常。
(三)配置日志持久化:避免重启丢失
默认情况下 systemd-journald 日志存储在内存目录,重启后丢失,需手动配置持久化:
# 1. 创建持久化存储目录
mkdir /var/log/journal
# 2. 编辑配置文件,设置存储模式为持久化
vi /etc/systemd/journald.conf
# 找到 [Journal] 段,修改/添加:Storage=persistent
# 3. 重启 journald 服务使配置生效
systemctl restart systemd-journald
配置完成后,日志会自动写入 /var/log/journal 下的结构化文件,重启后依然可通过 journalctl 查询历史日志。
二、tar 归档压缩:文件备份与传输的标准方案
在 Linux 中,tar 是归档与压缩的核心命令,支持 “先归档、后压缩” 的组合操作,既能打包多个文件 / 目录,又能结合不同算法实现高效压缩,是备份、跨主机传输的必备工具。
(一)tar 核心操作选项
tar 命令的操作分为 “归档管理” 和 “压缩算法” 两类核心选项,基础语法为:tar [操作选项] [压缩选项] [归档文件名] [源文件/目录]。
基础归档操作选项
| -c | –create | 创建新的归档文件 |
| -t | –list | 列出归档文件中的内容 |
| -x | –extract | 提取归档文件中的内容 |
| -f | –file | 指定归档 / 压缩文件的名称(必须紧跟文件名) |
| -v | –verbose | 显示归档 / 解压过程的详细信息 |
| -p | –preserve-permissions | 提取时保留文件原始权限(root 默认启用) |
三种主流压缩方式与对应选项tar 本身仅负责归档,需结合压缩算法选项实现文件压缩,三种主流算法的对比与用法如下:
| gzip | -z / –gzip | .tar.gz | 压缩速度快,兼容性好 | 跨平台快速备份、小文件压缩 |
| bzip2 | -j / –bzip2 | .tar.bz2 | 压缩率高于 gzip,速度中等 | 对压缩率有一定要求的场景 |
| xz | -J / –xz | .tar.xz | 压缩率最高,速度最慢 | 大文件长期备份、节省存储场景 |
(二)tar 实操核心案例
创建未压缩归档
打包用户目录下的 myapp1.log、myapp2.log、myapp3.log 为 mybackup.tar:
tar -cf mybackup.tar myapp1.log myapp2.log myapp3.log
创建压缩归档
gzip 压缩:打包并压缩 /etc 目录为 etcbackup.tar.gz
tar -czf /root/etcbackup.tar.gz /etc
bzip2 压缩:打包并压缩 /var/log 目录为 logbackup.tar.bz2
tar -cjf /root/logbackup.tar.bz2 /var/log
xz 压缩:打包并压缩 /etc/ssh 目录为 sshconfig.tar.xz
tar -cJf /root/sshconfig.tar.xz /etc/ssh
提取归档文件
查看归档内容:tar -tf /root/etcbackup.tar
提取归档到指定目录:先创建目录,再提取(避免覆盖)
mkdir /root/etcbackup
tar -xf /root/etcbackup.tar -C /root/etcbackup
提取并保留原始权限:tar -xpf /home/user/myscripts.tar
三、跨主机数据传输:scp 与 rsync 的选型与实操
在运维工作中,本地与远程服务器、远程服务器之间的文件传输是高频操作,scp 和 rsync 是两种核心工具,二者基于 SSH 协议实现安全传输,但定位与适用场景差异显著。
(一)核心区别:一次性传输 vs 增量同步
| 核心定位 | 一次性加密传输 | 增量目录同步 |
| 传输机制 | 全量复制,每次传输所有指定文件 / 目录 | 仅复制差异部分,首次全量、后续增量 |
| 关键选项 | -r(递归复制目录) | -a(归档模式)、-n(模拟运行)、-v(详细输出) |
| 适用场景 | 单个 / 少量文件的一次性跨主机传输 | 目录镜像、定时同步、大文件增量备份 |
| 权限保留 | 需手动配置,默认继承目标主机权限 | -a 选项自动保留权限、时间戳、组所有权等 |
(二)scp 实操:安全的一次性传输
scp 基于 SSH 协议实现加密传输,自动完成身份验证,语法为:scp [选项] 源路径 目标路径。
核心案例:远程目录递归复制到本地
命令:scp -r root@remotehost:/var/log /tmp逐行解析:
scp:启动基于 SSH 的安全文件传输工具;
-r:递归复制,针对目录生效,会复制目录下所有文件和子目录;
root@remotehost:指定远程服务器的用户名(root) 和主机名 / IP(remotehost);
/var/log:远程服务器上的源目录,即需要复制的目标路径;
/tmp:本地服务器的目标目录,远程目录的内容将被复制到此处。
补充:若需将本地文件传输到远程,命令为 scp -r /本地目录 root@remotehost:/远程目录。
(三)rsync 实操:高效的增量同步
rsync 是 “远程同步” 的标准工具,核心优势是增量传输,结合 -a(归档模式)可实现目录的完整镜像,语法与 scp 类似:rsync [选项] 源路径 目标路径。
1. 核心选项说明(归档模式 -a 包含的关键能力)
-a 选项是 rsync 的核心,等价于 -rlptgoD,可完整保留文件属性,具体包含:
| -r / –recursive | 递归同步整个目录树 |
| -l / –links | 同步符号链接 |
| -p / –perms | 保留文件权限 |
| -t / –times | 保留文件时间戳 |
| -g / –group | 保留文件组所有权 |
| -o / –owner | 保留文件所有者 |
| -D / –devices | 保留设备文件 |
额外常用选项:
-n:模拟运行,显示需要同步的文件清单,不执行实际操作(用于验证);
-v:详细输出,显示同步过程(便于故障排查);
-A:保留 ACL(访问控制列表);
-X:保留 SELinux 上下文。
2. 核心同步案例
本地目录同步到远程将本地 /var/log 同步到远程主机 hosta 的 /tmp 目录(增量同步,保留属性):
rsync -av /var/log hosta:/tmp
远程目录同步到本地将远程主机 hosta 的 /var/log 同步到本地 /tmp 目录:
rsync -av hosta:/var/log /tmp
关键注意:目录末尾斜杠的影响
rsync 中源目录是否带 / 决定同步逻辑,这是最易踩坑的点:
示例:仅同步 /var/log 的内容到本地 /tmp,不创建 log 子目录:
rsync -av /var/log/ /tmp
带斜杠(/var/log/):仅同步目录内容,不创建目录本身;不带斜杠(/var/log):同步目录本身及内容,会在目标目录创建 log 子目录。
总结:运维实操场景选型指南
日志管理:临时故障排查用 journalctl -f/-n,持久化分析需先配置 systemd-journald 持久化,结合 /var/log 分类日志精准定位;
文件归档:快速备份选 gzip(-z),平衡压缩率选 bzip2(-j),长期存储选 xz(-J),提取时记得用 -p 保留权限;
数据传输:一次性传文件用 scp -r,目录同步、增量备份必用 rsync -av,务必注意源目录斜杠的同步逻辑。



