简洁易用的macOS软件配置备份方案

作为一名开发者,你的电脑肯定会安装众多软件。

但是随着软件的数量的增加,当需要更换电脑时,你一定是有点奔溃的,往往需要一天甚至更多时间来安装环境,随后还要慢慢反刍和回味。

本文整理了一种偏程序员风的软件备份方案,这是以mackup为主,备份到iCloud的方式,还支持备份到DropboxGoogle Drive以及本地目录(通过git同步)。

准备工作

安装mackup

使用Homebrew安装mackup

brew install mackup

如果你还没安装过Homebrew,可以通过执行下面的脚本来安装:

/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

顺便说下,mackup的备份原理大概如下:

# 复制到备份目录
cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfig
# 删除原文件
rm ~/.gitconfig
# 在原文件位置创建软链接
ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig

检出代码

git clone --recursive https://github.com/ineo6/dotfiles.git ~/dotfiles

初次备份只能手动给mackup的配置文件做个软链接:

ln -s ~/dotfiles/.mackup.cfg ~/.mackup.cfg

dotfiles指的是.zshrc.gitconfig这样的配置文件备份合集,但是通常这些文件位置可能是分散的,且不易于统一管理。

自定义配置

注意:在尝试过程中切记备份配置,不熟悉的情况下很可能会丢数据!!!

软件配置备份主要用到了mackup,所以我们直接打开~/.mackup.cfg查看设置。

配置内容如下,也带有简单的说明注释,另外请注意查看随后的文档链接:

[storage]
# 存储方式支持 Dropbox、Google Drive、iCloud以及本地文件夹
engine = icloud
# 存放目录默认为Mackup
directory = Mackup

# 需要备份的软件
[applications_to_sync]
zsh
vscode
transmit
switchhosts
pnpm
npmrc
npm
# iterm2
clashx
git
EditorConfig
avalon
ssh

# 需要跳过备份的软件
[applications_to_ignore]

备份软件配置

执行备份脚本,会把applications_to_sync添加到软件备份到指定的目录中。

mackup backup

备份brew软件

该脚本会把brew安装过的软件备份到~/dotfiles/Brewfile

brew bundle dump --describe --force --file="~/dotfiles/Brewfile"

定制脚本

dotfiles目录里还需要关注的是init.sh脚本,它做了这样一系列事情:

  • 安装oh my zsh
  • 安装 Homebrew
  • Brewfile备份恢复
  • 配置.mackup.cfg软链接

你可以根据自己的需要进行调整,我还没有完全梳理完自己的dotfiles,肯定有没考虑到的地方,也欢迎留言反馈。

新机使用流程

  1. 检出仓库到 ~/dotfiles:
    git clone --recursive https://github.com/ineo6/dotfiles.git ~/dotfiles
    
  2. 执行初始化脚本:
    cd ~/dotfiles && sh ./init.sh
    
  3. mackup安装之后, 恢复软件配置
    mackup restore
    
  4. 重启终端或者执行 source ~/.zshrc

0 条评论