截图、导出文件、文档——Mac 上每天产生大量文件,默认文件名毫无规律,多台机器一起用就更乱。我想要一个简单的工具:把文件按修改时间重命名,然后自动传到 VPS,不重复传,不需要手动操作。
file-sync 就是干这个的,一个 Shell 脚本,不依赖任何额外服务。
它做什么
- 把文件按修改时间重命名为时间戳格式:
20260318_143022.png,多台 Mac 同时使用也不会冲突。 - 记录已上传文件,只传新增的,不重复传。
- 支持按文件类型过滤,留空则同步所有文件。
- 两种模式:手动执行一次,或持续监听目录变化自动同步。
- 通过
launchd在 Mac 登录后自动常驻,不需要手动启动。
为什么用 Shell
没有运行时依赖,不需要 Node、Python 或任何包管理器。macOS 自带 rsync 和 ssh,监听模式额外安装 fswatch 即可。配置文件外部化,不同机器独立配置,互不干扰。
使用方式
git clone [email protected]:ryderme/file-sync.git
cd file-sync
chmod +x file-sync.sh
复制配置模板,填写本地目录、VPS 地址和目标路径:
cp file-sync.conf.example ~/.file-sync.conf
手动同步一次:
file-sync.sh sync
启动自动监听:
file-sync.sh watch