linux技术文章
-
Bash 管道默认只返回最后一个命令的退出码,前置命令失败可能被吞掉。本文用 pipefail 和 PIPESTATUS 说明如何让脚本正确发现并定位管道错误。155 收藏 -
Linux 使用 systemd.timer 安排日历任务时,可通过 Persistent=true 记录最后触发时间,在关机错过执行后于开机激活定时器时补跑一次。本文用 oneshot 服务、OnCalendar 配置和 journalctl 检查说明补跑边界。397 收藏 -
用 systemd 的 EnvironmentFile= 将独立配置文件注入服务环境,说明变量文件格式、必选与可选路径、覆盖顺序、重载重启和敏感信息边界。141 收藏 -
通过 ~/.ssh/config 为多台服务器配置 Host 别名、独立账号和 IdentityFile,并用 IdentitiesOnly 与 ssh -G 排查密钥串用和配置不生效问题。423 收藏 -
curl 的总耗时只能告诉你请求慢,却不能说明慢在 DNS、TCP、TLS 还是服务端响应。本文用 -w 输出各阶段时间,再通过字段差值定位具体瓶颈,并补充代理、重定向和连接复用的判断边界。218 收藏 -
Linux 使用 tar 打包项目时,可以用带引号的 --exclude 排除日志和缓存目录;规则较多时改用 -X 文件管理,并用 tar -tf 复查归档清单。221 收藏 -
rsync 源目录末尾是否带斜杠,会决定目标目录中保留源目录名,还是只同步源目录里的内容。本文用 app 示例说明两种路径的结果,并给出 dry-run 与 --delete 的安全检查方法。400 收藏 -
Linux 中 find 与 xargs 通过管道传递文件名时,默认空白解析会拆坏含空格、制表符或换行的路径。本文说明 find -print0 与 xargs -0 的配对写法、-r 和 -- 的参数边界,以及何时直接使用 find -exec。422 收藏 -
journalctl -b -1 没有输出时,不要先假设日志被清理。本文从 --list-boots、Boot ID、/var/log/journal 和 Storage= 四个点,给出一条可复现的核对与修复路径。198 收藏 -
journalctl 的 vacuum-size、vacuum-time 只处理归档日志,因此 disk-usage 仍可能包含活动文件。本文用 rotate、目录状态和 journald.conf 配置,定位清理后空间没有降到预期的原因。270 收藏 -
df 显示磁盘已满而 du 统计偏小时,常见原因是已删除文件仍被进程打开。本文用 df、du、lsof 和 /proc//fd 固定挂载点、定位占用句柄,并给出安全回收边界。 488 收藏 -
copytruncate 不需要服务配合重开文件,但复制到截断之间存在丢日志窗口。本文用文件描述符、两套配置和检查命令,帮你选择更稳妥的 logrotate 轮转方式。125 收藏 -
journalctl -b -1 没有结果,不一定代表上一轮启动没有日志。本文按启动编号、持久化目录和时间范围逐层核对,帮助你区分查询偏移写错、journal 只存于运行时目录,以及历史日志已被清理这三类情况。143 收藏 -
journalctl -b -1 查不到旧日志时,先看启动编号,再固定 journal 目录,最后核对 Storage 与持久化路径,避免把易失性日志误判为丢失。440 收藏 -
journald 与 rsyslog 同时运行不代表一定产生两份日志。关键要看 ForwardToSyslog、imjournal/imuxsock、Storage 以及 rsyslog 的输出动作,本文给出配置与文件核对方法。161 收藏