用 flock 防止脚本并发运行

加文件锁,让定时任务在上一轮未结束时不再启动。

macOSBash 脚本自动化Shell脚本低风险
运行 flock -n /tmp/job.lock 命令,仅在无人持锁时执行命令。

01命令

命令
$ flock -n /tmp/backup.lock /usr/local/bin/backup.sh

02作用说明

flock 会为命令加建议性文件锁,长时间备份或同步由 cron 触发时,上一轮超时也不会堆积。这正是脚本化周期任务的核心价值:调度与并发控制本就属于终端。

03风险

风险低风险
使用条件macOS default zsh/bash (bash 3.2+; some features need bash 4+ via Homebrew)
系统兼容性macOS with bash 3.2+ (GNU bash 4+ via Homebrew for advanced features)
!注意: flock 属于 util-linux,macOS 默认没有,需要 Homebrew 安装 coreutils。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-10-13 · 分类: 开发者