那些认为自己知道一切的人对我们中的人来说是一个非常烦恼的人。
- Issac Asimov
对于MacOS用户,Time Machine是一种无装修,用于现场备份的设置和验证解决方案。插入外部硬盘驱动器(或配置网络存储驱动器),并备份Mac的文件。
对于普通消费者而言,时间机是一个绝佳的选择,尤其是考虑到许多MAC所有者可能只有时间机作为备用策略。但是,对于开发人员而言,Time Machine提出了一个问题:如何防止项目依赖性在时间机驱动器上占用空间?
Asimov的目的是解决该问题,将文件系统扫描到已知的依赖目录(例如node_modules/ Living与package.json文件相邻),并将其排除在Time Machine备份之外。毕竟,为什么要在备用驱动器上吃点空间,可以通过npm install轻松恢复一些东西?
Asimov可以以几种不同的方式安装:
安装Asimov的最简单方法是通过Homebrew:
brew install asimov如果您希望使用最新的开发版本,则可以附加--head标志:
brew install asimov --head安装后,您可以指示自动加载计划的作业,以确保每天自动运行Asimov:
sudo brew services start asimov如果您不需要或想要计划的作业,则可以按需运行Asimov:
asimov如果您希望手动安装Asimov,则可以通过克隆存储库(或Mac上的任何位置下载和提取源的存档)来做到这一点:
git clone https://github.com/stevegrunwell/asimov.git --depth 1克隆存储库后,运行install.sh脚本自动:
/usr/local/bin ,使其随时随地可用。本质上,Asimov是围绕Apple的tmutil程序的简单包装纸,该计划提供了对时间机器的更精细控制。
Asimov查找公认的依赖性目录,验证是否存在相应的依赖性文件,如果是的,请告诉Time Machine不要担心备份依赖关系目录。
也不必担心多次运行它。 Asimov足够聪明,可以查看目录是否已被标记为排除。
如果您想查看所有已排除在时机中的目录和文件,则可以通过运行以下命令(stackoverflow上的props brant bobby)这样做:
sudo mdfind " com_apple_backup_excludeItem = 'com.apple.backupd' "如果已错误排除了备份目录,则可以使用tmutil删除排除:
tmutil removeexclusion /path/to/directory