在mac上需通过launchd实现freefilesync自动备份:先导出.ffs_batch配置文件,再编写shell脚本调用freefilesync --no-gui执行,最后创建plist文件设定定时任务(如每日2:30),用launchctl加载启用。

在Mac上让FreeFileSync自动执行备份任务,必须绕过它不支持原生系统级计划任务的限制,转而依赖macOS自带的launchd服务实现后台定时触发——因为FreeFileSync for macOS本身只提供图形界面和命令行调用能力,没有内建调度器。
生成可执行的同步批处理文件
打开FreeFileSync图形界面,完成左右路径设置、筛选规则与同步模式(如“镜像”)配置后,点击顶部菜单栏【文件】→【另存为】→选择【创建用于无人值守同步的批处理文件】。
保存类型必须选“.ffs_batch”,路径建议放在用户目录下便于后续引用,例如~/Documents/BackupTask.ffs_batch。该文件本质是XML格式的配置快照,不含可执行逻辑,【不能直接双击运行】,必须由FreeFileSync主程序加载。
编写shell脚本封装调用命令
新建文本文件,命名为run_backup.sh,用TextEdit(纯文本模式)或VS Code编辑:
#!/bin/bash<br>/Applications/FreeFileSync.app/Contents/MacOS/FreeFileSync "/Users/你的用户名/Documents/BackupTask.ffs_batch" --no-gui
把其中你的用户名替换成你Mac实际的账户名;--no-gui参数强制后台静默运行,避免弹窗干扰;路径必须用英文引号包裹,否则含空格会失败。
保存后,在终端执行:chmod +x ~/Documents/run_backup.sh,赋予可执行权限。
配置launchd实现每日自动执行
第一步:创建plist配置文件
在~/Library/LaunchAgents/目录下新建文件,命名为com.user.freefilesync.backup.plist(名称需以com.开头且唯一)。
第二步:填入以下内容(注意替换真实路径):
<?xml version="1.0" encoding="UTF-8"?><br><br><plist version="1.0"><br><dict><br><key>Label</key><br><string>com.user.freefilesync.backup</string><br><key>ProgramArguments</key><br><array><br><string>/Users/你的用户名/Documents/run_backup.sh</string><br></array><br><key>StartCalendarInterval</key><br><dict><br><key>Hour</key><br><integer>2</integer><br><key>Minute</key><br><integer>30</integer><br></dict><br><key>RunAtLoad</key><br><false></false><br></dict><br></plist>
第三步:加载并启用任务
在终端运行:launchctl load ~/Library/LaunchAgents/com.user.freefilesync.backup.plist。此时任务已注册,无需重启即可生效。
第四步:验证是否注册成功
运行:launchctl list | grep freefilesync,若返回一行含对应Label的内容,说明已就绪。下次凌晨2:30将自动触发备份。











