作为一名开发者,你的电脑肯定会安装众多软件。
但是随着软件的数量的增加,当需要更换电脑时,你一定是有点奔溃的,往往需要一天甚至更多时间来安装环境,随后还要慢慢反刍和回味。
本文整理了一种偏程序员风的软件备份方案,这是以mackup为主,备份到iCloud
的方式,还支持备份到Dropbox
、Google 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
,肯定有没考虑到的地方,也欢迎留言反馈。
新机使用流程
- 检出仓库到
~/dotfiles
:git clone --recursive https://github.com/ineo6/dotfiles.git ~/dotfiles
- 执行初始化脚本:
cd ~/dotfiles && sh ./init.sh
- mackup安装之后, 恢复软件配置
mackup restore
- 重启终端或者执行
source ~/.zshrc
版权声明:本文为原创文章,版权归 neo 所有。
本文链接:https://idayer.com/mac-software-config-backup-and-store/
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
0 条评论