linux技术文章
-
文章 · linux | 1个月前 | cron · 定时任务 · Linux · shell · crontab · Linux cron相对路径失败 cron找不到文件 crontab工作目录 cron环境变量 Linux定时任务排查
Linux cron 中相对路径失败,通常不是文件突然消失,而是cron启动任务时的当前工作目录、PATH和交互式Shell不同。本文给出绝对路径、显式cd和环境记录三种处理方式。360 收藏 -
journalctl 只输出指定字段时,应把 -o json 与 --output-fields=字段列表分开使用。本文用一个逐行 JSON 日志小工具说明字段白名单、服务过滤、固定元数据和字段缺失的处理边界。360 收藏 -
在 Bash 中用 while IFS= read -r 逐行读取文件,保留空格和反斜杠,并兼容没有换行符的最后一行。358 收藏 -
Linux find 的 -xdev(-mount)会阻止遍历进入其他文件系统,适合扫描日志、项目和宿主机目录时控制挂载边界。本文解释挂载点显示规则、-prune 的区别,以及脚本中如何处理错误和退出状态。358 收藏 -
Linux ip rule 出现多条匹配规则时,先按 priority 从小到大梳理 RPDB,再用同一组源地址、目标地址、网卡和 mark 执行 ip route get,确认数据包实际查询的路由表。本文给出排障、修正和回滚方法。357 收藏 -
用 openat2 的 resolve 约束限制不可信相对路径,分清 RESOLVE_BENEATH 与 RESOLVE_IN_ROOT 的边界,并处理 EXDEV、EAGAIN 和内核兼容性验收。356 收藏 -
journalctl 可以把服务单元和启动周期作为两个筛选维度。本文用 --unit、--boot 和 --list-boots 组合查询,说明当前启动、历史启动、日志字段与空结果排查边界。356 收藏 -
Linux systemd 服务异常退出后,优先为长期运行服务选择 Restart=on-failure,再配合 RestartSec 和启动限流参数;本文比较不同 Restart 策略,并给出用 systemctl 和 journalctl 复查服务状态的配置方式。355 收藏 -
systemd 的 ConditionPathExists 可以让 unit 在指定路径存在时才启动,也可以用感叹号表达路径不存在才启动,用 ConditionPathExistsGlob 匹配至少一个路径。本文结合官方语义说明条件、依赖和重启策略的边界。355 收藏 -
Linux 网络命名空间接入宿主机网桥的核心是创建 veth 对:宿主机端加入 bridge,另一端移入 netns;三层地址配置在网桥和命名空间端口上。本文给出完整命令、核对方法、路由边界与生产加固要点。354 收藏 -
Linux 批处理拖慢线上服务时,可以用 cgroup v2 的 io.max 对指定块设备做读写字节或 IOPS 限流,再用 io.stat 对比限流前后的服务时延。本文给出设备映射、配置、观测和安全回滚步骤。353 收藏 -
Linux 新建文件和目录的权限不是 umask 直接赋值,而是由程序请求的初始 mode 减去掩码得到。本文用 open、mkdir 和 stat 验证 022、027 等设置如何影响结果,并说明目录权限与文件权限的差异。353 收藏 -
说明如何定位 cgroup v2 的 cpu.stat,按字段区分 CPU 使用量与节流计数,通过只读两次采样计算增量,并界定父组限制、版本差异及业务延迟归因的边界。353 收藏 -
Linux cgroup v2 的 memory.max 是硬限制,但并发计费、回收时机和层级统计会让 memory.current 短暂越界。本文区分 memory.high 与 memory.max,并用 memory.events、memory.stat 和进程归属定位是否真的发生 OOM。352 收藏 -
Linux 服务启动失败时,先用状态命令确认状态,再用 journalctl -u 读取本次启动日志,区分配置错误、权限问题和依赖未就绪,最后用可回滚的 drop-in 配置完成验证。351 收藏