macOS 个人设置备份需分层处理:仅备份手动配置(如 shell 环境、关键应用偏好、工具链配置),用 rsync 做带硬链接的轻量快照;软件通过 Brewfile 和 mas 列单管理;系统级设置依赖 Time Machine。

macOS 用户个人设置文件的备份与迁移,核心在于分层处理:把“人写的配置”和“机器装的状态”分开,避免全盘复制带来的冗余、不可控与难追溯问题。真正值得备份的,是那些你亲手调整过、影响日常效率、且跨设备可复用的配置项。
哪些配置文件必须备份
不是所有隐藏文件都重要,重点抓三类:
- Shell 环境:~/.zshrc、~/.zprofile(含 PATH、别名、函数)、~/.gitconfig(提交模板、默认分支等)
- 关键应用偏好:~/Library/Preferences/com.apple.Dock.plist(Dock 栏布局)、com.apple.Terminal.plist(终端主题与快捷键)、com.googlecode.iterm2.plist(iTerm2 配置)
- 工具链专属配置:~/.ssh/config(主机别名与跳转设置)、~/.vimrc 或 ~/.config/nvim/init.vim(编辑器行为)、Karabiner 的 karabiner.json(键盘映射)
用 rsync 做轻量快照,不占空间
不用 cp,用 rsync 才能保留符号链接、权限,并支持硬链接去重。同一份配置备份几十次,实际只存一份体积。
- 运行命令生成带时间戳的快照目录:
BACKUP_DIR="config-$(date +%Y%m%d-%H%M%S)"; mkdir -p "$BACKUP_DIR" - 执行同步:
rsync -avh --delete --link-dest="../config-20260701-100000" ~/.zshrc ~/.gitconfig ~/Library/Preferences/{com.apple.Dock,com.googlecode.iterm2}.plist "$BACKUP_DIR/" - 下次备份时,把
--link-dest指向最新快照,自动复用未变内容
软件清单单独管理,不备份二进制
Homebrew 和 Mac App Store 应用靠清单还原,而非拷贝安装包。
- 导出 Homebrew 安装项:
brew bundle dump --file=Brewfile - 导出 MAS 应用:
mas list > mas-installed.txt(需先mas signin) - 把这两个文件提交到私有 Git 仓库——每次加新工具就是一次 commit,清楚知道谁在哪天装了什么
系统级设置交给 Time Machine
Wi-Fi 密码、TCC 权限(摄像头/麦克风授权)、钥匙串凭据、LaunchAgents、Docker Desktop 的虚拟机状态……这些无法脚本化还原,必须靠 Time Machine。
- 外置硬盘格式设为 APFS,容量 ≥ 当前已用空间的 1.5 倍
- 在“系统设置 > 通用 > Time Machine”中启用并加密绑定磁盘
- 首次全量备份完成后,手动验证快照是否生成成功(查看
/Volumes/YourBackupDisk/Backups.backupdb/YourMac/)


















