Debian下 Copidar 与其他软件的协同工作指南
一 工具定位与安装方式
二 典型协同场景与配置
| 目标 | 协同组件 | 集成方式 | 关键要点 |
|---|---|---|---|
| 变更即触发构建/部署 | Git、shell 脚本、systemd | 用 systemd 托管 copidar,事件触发脚本执行构建/部署 | 事件去抖、幂等、最小权限;失败时记录与告警 |
| 文件变更自动同步 | rsync | 事件处理器中调用 rsync,仅同步变更 | 使用 -r/-d/-v 控制递归、清理、输出;避免循环同步 |
| 作为开发辅助服务 | Node.js、浏览器 | npm 全局安装,启动后在 8080 端口提供页面/API | 与前端工程、构建工具配合,热更新/预览 |
| 定时兜底与巡检 | cron | 周期性执行 copidar 或同步命令 | 日志轮转、错误告警、避免与事件触发重复执行 |
说明:上表的协同方式与命令示例可参考下列做法与参数用法。
三 快速上手示例
systemd 托管 + 触发脚本
[Unit]
Description=Copidar File System Monitor
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/copidar --watch /path/to/watch --config /etc/copidar.yaml
Restart=always
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
#!/usr/bin/env bash
set -euo pipefail
EVENT="$1"; FILE="$2"
case "$EVENT" in
create|modify)
rsync -a --delete "/path/to/src/" "/path/to/dest/" && \
echo "$(date) $EVENT $FILE" >>/var/log/copidar-rsync.log
;;
esac
提示:为降低抖动,可在脚本内做 去抖(sleep/锁文件) 与 幂等 处理。
npm 版协同开发服务
{
"src": ["./src"],
"dest": "./dist",
"watch": true,
"port": 8080
}
定时兜底同步(与事件触发互补)
# 每5分钟同步一次;日志轮转建议使用 logrotate
*/5 * * * * /usr/bin/copidar -r -d -v /path/to/src/ /path/to/dest/ >>/var/log/copidar-cron.log 2>&1
说明:-r 递归、-d 删除目标多余文件、-v 输出详细信息。
四 稳定性与运维要点