日志服务与文件共享

发布时间:2026/9/8 9:46:48

日志服务与文件共享 日志服务与文件共享一句话总结学了 Linux 日志怎么收rsyslog、怎么看journalctl、怎么切logrotate以及怎么给多台机器共享文件NFS和实时同步数据inotifyrsync / sersync。一、日志服务1. 日志是干什么的日志就是系统的黑匣子记录着什么时间、谁、干了什么事、结果如何。级别适用场景主机级别单机排查问题 →rsyslog集群级别多台机器统一收日志 →ELKElasticsearch Logstash Kibana或Spark类比rsyslog 就像你家里的日记本ELK 就像公司的档案室把所有人的日记统一归档方便检索。2. rsyslog 基础rsyslog Rocket-fast SYStem for LOG processing极速日志处理系统CentOS 6 / Rocky / openEuler 默认安装Ubuntu Server 需手动安装apt install rsyslog -y核心文件/usr/sbin/rsyslogd # 主程序 /etc/rsyslog.conf # 主配置文件 /etc/rsyslog.d/*.conf # 子配置文件目录 /var/log/messages # Rocky 默认日志Ubuntu 是 /var/log/syslog3. rsyslog 核心概念设施 优先级设施Facility— 数据来源分类设施可以理解为消息从哪来的——就像快递上的寄件地址标签。 ​ LOG_KERN → 内核产生的消息硬件驱动、内核错误 LOG_MAIL → 邮件服务 LOG_CRON → 定时任务crontab / at LOG_AUTH → 安全和认证 LOG_AUTHPRIV → 安全和认证私有 LOG_DAEMON → 各守护进程 LOG_FTP → FTP 服务 LOG_LOCAL0~7 → 自定义分类给第三方应用用 * → 所有设施优先级Priority— 消息紧急程度优先级可以理解为这条消息有多急——就像快递上的加急标签。 ​ 从高到低 LOG_EMERG 紧急系统要挂了 → 最高 LOG_ALERT ⚠️ 告警必须立即处理 LOG_CRIT 关键硬件故障等 LOG_ERR 错误 LOG_WARNING 警告 LOG_NOTICE 通知 LOG_INFO 一般信息 LOG_DEBUG ⚪ 调试信息 → 最低重要规则设置了某个优先级会记录该级别及以上所有级别的日志。比如设err则errcritalertemerg都会记。4. rsyslog 配置规则配置格式就是一个三段式设施.优先级 动作去哪里 ↓ ↓ 来源 筛选 重定向经典配置解读Rocky# 查看主配置中生效的规则 grep -Ev ^#|^$ /etc/rsyslog.conf*.info;mail.none;authpriv.none;cron.none /var/log/messages # 除了 mail、authpriv、cron 之外的 info 及以上日志 → 写到 messages ​ authpriv.* /var/log/secure # 安全认证相关的所有日志 → 写到 secure ​ mail.* -/var/log/maillog # 邮件相关所有日志 → 写到 maillog- 表示异步写入 ​ cron.* /var/log/cron # 定时任务相关日志 → 写到 cron ​ *.emerg :omusrmsg:* # 所有设施的紧急日志 → 发给所有登录用户终端弹窗警告 ​ local7.* /var/log/boot.log # 启动流程日志 → 写到 boot.log解读示例*.info;mail.none;authpriv.none;cron.none /var/log/messages— 我要记所有设施的 info 及以上日志但 mail、authpriv、cron 的日志别混进来它们有专门的文件。5. 选择器的多种写法写法含义示例*所有优先级kern.*内核所有日志none不记录mail.none排除邮件日志priority仅该级别mail.err只记 mail 的 err!priority排除该级别及以上mail.!info不记 info 及以上?基于属性过滤:msg,contains,error /var/log/myerr.log6. 动作Action— 日志去哪动作写法说明写入文件/var/log/xxx.log最常见的异步写入-/var/log/xxx.log加-不阻塞丢入黑洞/dev/null不想保留的日志发给用户root或*发给已登录用户发送远程IP:端口UDP 发送发送远程IP:端口TCP 发送可靠存数据库action(typeommysql ...)需装对应模块丢弃stop不处理扔掉远程日志转发重点角色 日志客户端Client→ 发送日志 → 日志服务器Server ​ Server 端启用 UDP/TCP 模块监听 514 端口 Client 端在规则中把日志动作指向 Server# 服务端启用 TCP 接收修改 /etc/rsyslog.conf module(loadimtcp) input(typeimtcp port514) # 客户端配置把日志转发到服务端 *.info;mail.none 10.0.0.100:5147. journalctl — systemd 日志查看rsyslog 管的是文本日志/var/log/ 下的文件而 systemd 还有一个二进制日志系统journald用journalctl查看。命令作用journalctl -xeu 服务名最常用查看某个服务的详细日志含错误解释journalctl -f实时跟踪日志类似tail -fjournalctl --since 10 min ago只看最近 10 分钟journalctl -p err只看 error 及以上级别的日志推荐用法服务起不来了先跑journalctl -xeu 服务名比看配置文件快多了。8. logrotate — 日志轮转切割日志如果不切割会越来越大直到撑爆磁盘。logrotate 就是自动帮你切日志的工具。/etc/logrotate.conf # 主配置 /etc/logrotate.d/ # 各服务的轮转规则配置项解读/var/log/messages { monthly # 每月轮转一次 rotate 4 # 保留最近 4 个归档 compress # 压缩归档.gz missingok # 文件不存在不报错 notifempty # 空文件不轮转 create 0600 root root # 轮转后新建日志文件的权限 }参数含义daily / weekly / monthly按时间轮转size 100M按大小轮转超过 100M 就切rotate N保留 N 个旧版本compress压缩归档missingok日志文件不存在也不报错notifempty日志为空则不轮转create 权限 属主 属组轮转后创建新日志文件postrotate ... endscript轮转后执行的脚本通常重启服务实际生产环境通常时间和容量双重触发每天切一次但如果某天日志量特别大超过 100M 也会提前切。二、共享存储1. 存储类型总览存储样式 DAS直连存储 → 硬盘直接插在机器上 → 就像自己电脑的硬盘 NAS网络附加存储→ 通过网络共享文件 → 就像公司共享文件夹 SAN存储区域网络→ 通过光纤/网络共享块设备 → 就像远程硬盘高级 存储方式 块存储 → 像硬盘一样用可以分区、格式化→ 对应 SAN 文件存储 → 像文件夹一样用NFS、CIFS → 对应 NAS 对象存储 → 像网盘一样用存放、下载、分享→ 对应 OSS/S32. NFS — 网络文件系统NFS 是最经典的 Linux 文件共享方案把一台机器的目录通过网络挂载到另一台机器上。服务端配置# 1. 安装 yum install nfs-utils -y # 2. 编辑共享配置 vim /etc/exports/data/share 10.0.0.0/24(rw,sync,no_root_squash) # 共享目录 允许的网段(权限)导出选项含义rw / ro读写 / 只读sync同步写入安全但慢async异步写入快但可能丢数据no_root_squash客户端 root 保持 root 权限root_squash默认客户端 root 映射为 nobody安全no_subtree_check禁用子树检查提高性能# 3. 生效配置 exportfs -r # 重新读取 exports exportfs -v # 查看当前导出的共享 # 4. 启动服务 systemctl enable --now nfs-server客户端挂载showmount -e 10.0.0.100 # 查看服务端有哪些共享目录 mount -t nfs 10.0.0.100:/data/share /mnt/nfs # 挂载 df -h # 确认已挂载 # 永久挂载 → 写入 /etc/fstab 10.0.0.100:/data/share /mnt/nfs nfs defaults 0 0⚠️NFS 权限两层检查先看/etc/exports的网络权限rw/ro再看文件系统本身的权限755/644。两层都允许才能读写。三、实时数据同步1. 方案对比方案原理优点缺点inotify rsyncinotify 监控文件变化 → 触发 rsync 同步简单、原生支持高频变更时事件风暴、重复同步sersync rsyncsersync 代替 inotify事件去重 多线程高效、配置简单、失败重试项目已停更2. inotify rsyncinotify 监控命令# 监控 /data 目录的文件变更阻塞等待事件 inotifywait -mrq /data/ -e create,delete,close_write,attrib # 常用选项 -m # 持续监控不加则只监控一次退出 -r # 递归监控子目录 -q # 只输出事件信息不输出标题 -e # 指定要监控的事件 --format %T %w%f # 自定义输出格式 --timefmt %F %T # 时间戳格式rsync 同步命令# 本地同步 rsync -avz /源目录/ /目标目录/ # 推送到远程 rsync 服务 rsync -avz --delete /data/www/ rsyncer10.0.0.13::dir1 # 常用选项 -a # 归档模式保留权限、时间等属性 -v # 显示过程 -z # 压缩传输 --delete # 目标端删除源端不存在的文件保持完全一致rsync 服务端配置# /etc/rsyncd.conf uid root gid root log file /var/log/rsyncd.log pid file /var/run/rsyncd.pid [dir1] path /data/dir1/ comment sync dir1 read only no auth users rsyncer secrets file /etc/rsyncd.pwd# 密码文件服务端 echo rsyncer:123456 /etc/rsyncd.pwd chmod 600 /etc/rsyncd.pwd # 密码文件客户端只需密码 echo 123456 /etc/rsyncd.pwd chmod 600 /etc/rsyncd.pwd完整同步脚本#!/bin/bash # inotify rsync 实时同步脚本 SRC/data/www/ DESTrsyncer10.0.0.13::dir1 PASS_FILE/etc/rsyncd.pwd LOG_FILE/var/log/rsync_sync.log inotifywait -mrq --timefmt %F %T --format %T %w%f \ -e create,delete,moved_to,close_write,attrib ${SRC} | \ while read TIME FILE; do rsync -az --delete --password-file${PASS_FILE} ${SRC} ${DEST} \ echo ${TIME} ${FILE} synced ${LOG_FILE} done⚠️inotify 的坑高频写入场景下一个文件保存可能触发多个事件CREATE CLOSE_WRITE ATTRIB导致 rsync 被反复调用。这就是 sersync 要解决的问题。3. sersync rsync增强版sersync 用 C 重写了 inotify 监控逻辑自带事件去重、多线程并发、失败重试队列、内置 crontab。# 1. 下载解压 wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz mv GNU-Linux-x86/ /usr/local/sersync # 2. 修改配置文件 /usr/local/sersync/confxml.xmlinotify createFile starttrue/ attrib starttrue/ modify starttrue/ /inotify sersync localpath watch/data/www remote ip10.0.0.13 namedir1/ /localpath rsync commonParams params-artuz/ auth starttrue usersrsyncer passwordfile/etc/rsyncd.pwd/ /rsync /sersync# 3. 启动守护进程模式 cd /usr/local/sersync ./sersync2 -dro ./confxml.xml # 参数说明 -d # 守护进程模式后台运行 -r # 启动前先全量同步一次 -o # 指定配置文件sersync 启动后会自动调整内核参数max_user_watches、max_queued_events不需要手动调优。今日干货总结场景用什么一句话命令看某个服务的日志journalctljournalctl -xeu nginx配置日志收集规则rsyslogfacility.priority /var/log/xxx.log日志切分防爆盘logrotate配/etc/logrotate.d/共享目录给其他机器NFSexportfs -rmount -t nfs实时同步文件到远程inotifyrsync写脚本循环监控 同步生产级实时同步sersyncrsyncsersync2 -dro confxml.xml日志是排错的第一入口共享存储是集群的基础实时同步是数据一致性的保障 — 这三块做好服务器管理就稳了一大半。
延伸阅读

更多相关文章

2026/9/7 15:22:48

嵌入式学习第七天

今天学习了排序算法的冒泡排序和插入排序以及查找算法冒泡排序核心思想&#xff1a;比较两个相邻的数的大小&#xff0c;小的放前面&#xff0c;大的放后面。代码&#xff1a;for(i 0;i<n;i){for(j1;j<n-i:j){if(a[j]>a[j1]){交换位置}}}插入排序&#xff1a;将数据放…

2026/9/8 17:50:10

渗透必备工具箱V11 (2026更新) 集成Web扫描、抓包、免杀等等

0x01 工具介绍 水滴工具箱 (shuidi) 是一款的开源渗透测试工具集合。涵盖Web扫描、抓包、免杀等多个方面。集成了抓包、扫描器、漏扫工具、子域名爆破、js探测、OA利用、框架利用、各类组件、jndi注入、内存马、内网渗透、webshell免杀、程序免杀、内网穿透、Windows溯源工具、…

2026/9/9 7:29:31

智能驾驶车载系统数据安全需求

序号应用名称具体应用子模块数据名称&#xff08;文件1附录AB&#xff09;数据主体数据种类等级分类处理活动类型&#xff08;收集、存储、使用、加工、传输、提供、公开&#xff09;应用场景或处理目的收集、处理该数据是否为业务开展所必须收集时涉及的敏感系统权限收集方式1…

2026/9/9 8:31:43

用熵减之智驾驭熵增之势:三智双融共赢方法论

“三智双融共赢”这套说法&#xff0c;我第一次听到是在一个做企业数字化转型的朋友那里。他当时正被一个跨部门协作项目搞得焦头烂额——业务部门要灵活、技术部门要稳定、管理层要降本增效&#xff0c;三方诉求拧在一起&#xff0c;项目越推进越乱。他感叹了一句&#xff1a;…

2026/9/9 8:31:43

虚拟电厂多时间尺度调度优化:Matlab+YALMIP复现全流程解析

最近在复现一篇关于虚拟电厂多时间尺度调度优化的SCI论文&#xff0c;前后折腾了两周&#xff0c;把日前调度和日内调度两个时间尺度的模型、代码、数据全部跑通之后&#xff0c;对这类“顶会/顶刊热门方向”的套路算是彻底摸透了。这篇论文的核心思路并不复杂&#xff1a;虚拟…

2026/9/9 8:31:43

2025年Linux内核十大技术创新盘点:调度、内存与虚拟化进化

每年年底我都会把 Linux 内核主线这一年的合并记录翻一遍&#xff0c;看看到底哪些技术真的落到了地上。2025 年的主线版本从 6.13 一路走到 6.18&#xff0c;表面上看没有那种“横空出世的新子系统”&#xff0c;但只要把这一年 patch 串起来就会发现&#xff0c;前几年埋下的…

2026/9/9 8:31:43

TDEFNODE编译安装实战:从源码配置到地壳形变反演全流程

TDEFNODE 编译安装这事&#xff0c;说起来真是一把辛酸泪。做地壳形变研究的朋友应该都有体会&#xff0c;手里的 GPS 速度场数据攒了好几年&#xff0c;测站覆盖也够密&#xff0c;就是想找一个能把块体运动、断层闭锁和应变积累综合分析的工具。商业软件要么授权费劝退&#…

2026/9/9 8:26:42

深入理解DOM节点:从获取、遍历到性能优化与安全防护

写DOM节点&#xff0c;基本是前端工程师天天都要碰的东西。很多新手一开始就栽在“这个元素怎么找不到”“为什么改了内容页面不更新”“数据一多页面就卡死”这些问题上&#xff0c;归根结底&#xff0c;都是对DOM节点的底层逻辑没吃透。这篇文章我不讲枯燥的规范文档&#xf…

2026/9/8 7:15:10

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊&#xff01;#雷神 #复联”这类调侃式短标题&#xff0c;第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里&#xff0c;但细想一下就能发现&#xff0c;它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊&#xff0c;可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”&#xff0c;你会发现&#xff0c;这场比较本质上是两个不同 IP 策略的长期结果对比&#xff1a;超人赢在定义了整个超级英雄题材…

2026/9/8 7:15:10

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介&#xff1a;本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案&#xff0c;聚焦调制信号自动检测与识别这一典型无线通信任务&#xff0c;解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件&#xff08;10.73MB&#xff09;&…

2026/9/9 0:00:48

MHS模型硬件标准:让大模型像调用软件一样控制物理设备

让Claude真正看着显微镜说“这个细胞形态不太对”&#xff0c;或者让大模型自己调一版机械臂的运动轨迹&#xff0c;这事儿听上去已经很接近科幻片了。但你真上手试一次就会发现&#xff0c;模型不缺智商&#xff0c;缺的是一个能插进显微镜、机械臂、激光控制器里的“通用插座…

2026/9/9 0:00:48

AI五大核心方向详解:从机器学习到大模型,零基础转行选哪条?

会有人告诉我&#xff0c;他想转行学AI&#xff0c;但打开招聘网站一看直接傻眼&#xff1a;机器学习、深度学习、自然语言处理、计算机视觉、大模型应用……满屏都是这些词&#xff0c;好像每个都会一点&#xff0c;又好像每个都离自己很远。还有人上来就问“学Python还是学Ja…

2026/9/9 0:00:49

从50行最小循环到生产级AI引擎:工程化改造全解析

直接说干货。这一章我写的不是那种"hello world跑通某个模型"的教程&#xff0c;而是把AI引擎当做一个真正要上线、要被人调用、要扛流量的系统来聊。从最初只有50行的最小循环&#xff0c;到能够承载生产流量的AI引擎&#xff0c;中间差的不是代码量&#xff0c;而是…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/7 22:45:59

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码