- 创建同步文件夹在 dropbox 中创建一个文件夹,例如:Terminal,参考 不想被勒索软件毁掉数据,就按照「3-2-1 原则」来备份文件 一文中讲到的原则,,我个人会再使用 Backup and Sync from Google 同步了这个文件夹,这样配置一下之后,我的 macOS 备份文件就会在 dropbox 和 Google Drive 中各存一份了,以防各种万一。
2. 创建备份 Shell 脚本
#!/bin/sh
export Backup=/Users/spark/Dropbox/Apps/Backup
## 将上面的 /Users/spark/Dropbox/Apps/Backup 替换为你自己保存备份文件的路径
brew leaves > $Backup/brew.txt
brew cask list -1 > $Backup/brewcask.txt
pip freeze > $Backup/pip.txt
pip3 freeze > $Backup/pip3.txt
gem list > $Backup/gem.txt
cp ~/.zshrc $Backup/zshrc
cp -R ~/Library/Preferences $Backup/Preferences
将此文件保存为 backup.sh,然后保存在一个一个你满意的地方。我个人是将其保存在 dropbox 上的一个隐藏文件夹中,里面放着我研究需要的所有工具。
chmod 777 /path/to/backup.sh
4. 备份
在终端运行命令:/path/to/backup.sh这会停在这里几秒钟,当进程完成时,回到 dropbox 的 Terminal 目录中你就可以看到备份的软件清单。
如果你在执行备份过程中想不输入全路径,直接执行 backup.sh 的话,需要先添加环境变量。此处以 OS X 自带的终端为例,在终端中输入:1export PATH="$HOME/path/to/backup.sh'sfolder:$PATH"
请将上面这条命令的 /path/to/backup.sh’sfolder 字段替换为你保存 backup.sh 的文件夹路径,后面的 :$PATH" 一个字符都不要修改。
例如我是将 backup.sh 保存在 dropbox 的 .bin 目录下那么命令就是:
export PATH=$HOME/Dropbox/Apps/.bin/:$PATH
然后让你的配置生效:
这样你就可以不用输入全路径,也可以直接执行 backup.sh 了。
进阶设置如果你想要每次开机时都自动执行备份命令,而不是使用终端来输入命令来执行了话,可以按照如下教程进行配置。在系统偏好设置的用户登录选项中添加 backup.sh 文件
将打开 backup.sh 文件的默认软件更改为你使用的终端,比如说 Terminal 或者 iTerm2。
就这样设置好了,以后每次开机时都会自动更新已安装软件清单到 dropbox 了。
5. 恢复备份
创建还原备份 Shell 脚本,保存为 restore.sh
#!/bin/sh
cd /Users/spark/Dropbox/Apps/Terminal
## 更改 cd 后面的路径为你自己保存备份文件的路径
pip install `cat pip.txt`
npm install `cat npm.txt`
brew install `cat brew.txt`
pip3 install `cat pip3.txt`
sudo gem install `cat gem.txt`
brew cask install `cat brewcask.txt`
赋予脚本权限并执行
chmod +x restore.sh
/path/to/restore.sh
项目地址:https://github.com/JamesHopbourn/Backup-macOS