排除文件
跳过列表让某些文件和文件夹不进入任何一次备份。在设置中,它叫作 exclude。
#默认值
新的跳过列表包含 .DS_Store、Thumbs.db、*.tmp、*.swp、node_modules 和 .cache。想备份其中哪一项,就把它删掉。
#模式的写法
- 不含斜杠的名称或模式会匹配任何位置上同名的文件或文件夹。
node_modules会跳过每一个node_modules文件夹及其中的所有内容。 - 含有斜杠的模式是一个完整路径。它会跳过这个路径及其下的所有内容。
~代表你的主文件夹,比如~/Downloads/Movies。
模式中可以使用这些通配符:
| 通配符 | 匹配 |
|---|---|
* | 任意数量的字符,/ 除外 |
? | 任意单个字符,/ 除外 |
[abc] | 列出的字符中的一个。[a-z] 表示一个范围,[^abc] 表示列出字符以外的任意字符 |
\ | 让下一个字符按字面匹配,所以 \* 匹配真正的 * |
模式区分大小写,所以 *.MOV 不会跳过 clip.mov。
列表中的文件夹本身永远不会被跳过,被跳过的只会是它们里面的内容。
#示例
| 模式 | 跳过 |
|---|---|
*.iso | 所有磁盘映像 |
.git | 所有 Git 文件夹 |
Cache* | 名称以 Cache 开头的所有内容 |
~/Library/Caches | macOS 主文件夹中的缓存文件夹 |
~/Videos/*.mov | 直接位于 ~/Videos 中的 .mov 文件,不包括子文件夹中的 |
#修改列表
运行 frost init 并修改 "Skip"(跳过)这一步,或者使用 frost config edit。也可以用一条命令设置整个列表,这会替换掉原有的内容:
frost config set exclude .DS_Store node_modules '*.tmp' '~/Downloads'
含有 * 或 ~ 的模式要加上引号,以免 shell 先把它们展开。
只在某一次备份中跳过某些内容:
frost backup --exclude '*.iso'
跳过某些内容,并不会把它们从已有的快照中删除。