美文网首页
清理 APFS 快照的shell脚本

清理 APFS 快照的shell脚本

作者: Chaos_John | 来源:发表于2020-11-29 23:57 被阅读0次

背景

macOS10.13 High Sierra开始,引入了 APFS(Apple File System) 替代原先的 HFS+ 作为默认磁盘格式。

笔者觉得最大的特色在于 写时拷贝(Copy-on-Write)快照(Snapshots)。对于前者,以后有机会笔者再写文阐述,本文主要针对后者。

快照的引入,可以方便并且快速地恢复到过去的某个时间节点,它与 时间机器(Time Machine) 配合起来,可以极大程度的保证数据安全。

但快照也导致一个不良后果,即占据了大量的磁盘空间。比如明明没使用很多文件,怎么磁盘空间耗去大半。

查看快照

这里利用到 tmutil 这个命令,通过查询 man 手册,发现它全称为 Time Machine utility,即原用于时间机器。

$ tmutil listlocalsnapshots /

Snapshots for volume group containing disk /:
com.apple.TimeMachine.2020-11-29-004329.local
com.apple.TimeMachine.2020-11-29-014637.local
com.apple.TimeMachine.2020-11-29-024241.local
com.apple.TimeMachine.2020-11-29-034330.local
com.apple.TimeMachine.2020-11-29-044145.local
com.apple.TimeMachine.2020-11-29-054542.local
com.apple.TimeMachine.2020-11-29-064456.local
com.apple.TimeMachine.2020-11-29-074846.local
com.apple.TimeMachine.2020-11-29-084356.local
com.apple.TimeMachine.2020-11-29-094633.local
com.apple.TimeMachine.2020-11-29-104339.local
com.apple.TimeMachine.2020-11-29-114752.local
com.apple.TimeMachine.2020-11-29-134250.local
com.apple.TimeMachine.2020-11-29-144214.local
com.apple.TimeMachine.2020-11-29-154417.local
com.apple.TimeMachine.2020-11-29-164352.local
com.apple.TimeMachine.2020-11-29-174500.local
com.apple.TimeMachine.2020-11-29-184606.local
com.apple.TimeMachine.2020-11-29-194225.local
com.apple.TimeMachine.2020-11-29-204725.local
com.apple.TimeMachine.2020-11-29-214338.local
com.apple.TimeMachine.2020-11-29-224417.local
com.apple.TimeMachine.2020-11-29-234647.local

通过 df -th 查看磁盘剩余 153GB

清理快照

这里祭出一行shell脚本

for snapshot in(tmutil listlocalsnapshots / | awk -F. '{print 4}'); do tmutil deletelocalsnapshotssnapshot; done

Deleted local snapshot '2020-11-29-004329'
Deleted local snapshot '2020-11-29-014637'
Deleted local snapshot '2020-11-29-024241'
Deleted local snapshot '2020-11-29-034330'
Deleted local snapshot '2020-11-29-044145'
Deleted local snapshot '2020-11-29-054542'
Deleted local snapshot '2020-11-29-064456'
Deleted local snapshot '2020-11-29-074846'
Deleted local snapshot '2020-11-29-084356'
Deleted local snapshot '2020-11-29-094633'
Deleted local snapshot '2020-11-29-104339'
Deleted local snapshot '2020-11-29-114752'
Deleted local snapshot '2020-11-29-134250'
Deleted local snapshot '2020-11-29-144214'
Deleted local snapshot '2020-11-29-154417'
Deleted local snapshot '2020-11-29-164352'
Deleted local snapshot '2020-11-29-174500'
Deleted local snapshot '2020-11-29-184606'
Deleted local snapshot '2020-11-29-194225'
Deleted local snapshot '2020-11-29-204725'
Deleted local snapshot '2020-11-29-214338'
Deleted local snapshot '2020-11-29-224417'
Deleted local snapshot '2020-11-29-234647'

再次通过 df -th 查看磁盘剩余 159GB,释放出 6GB 空间

相关文章

  • 清理 APFS 快照的shell脚本

    背景 macOS 从 10.13 High Sierra开始,引入了 APFS(Apple File System...

  • zook 清理脚本

    zook 3.4.0 之后支持自清理 3.4.2 快照不支持自清理 官方bug ,需要自己手动写清理脚本。 cd ...

  • 清理日志脚本 shell

    零代码基础,写了两天终于写成了。成就感满满的。 需求:删除logs目录下的7天之前的*.log日志。*.out不能...

  • 清理日志shell脚本

    新建脚本文件vim clearLog.sh 执行/bin/sh /path/clearLog.sh /path/ ...

  • 嵌入式day12

    shell脚本的本质 shell脚本语言是解释型语言 shell脚本的本质:shell命令的有序集合 shell编...

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • Shell script + crontab实现Mysql定时备

    一、Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所...

  • 2018-09-26

    shell脚本 1.1、什么是shell脚本(shell script , ...

  • shell脚本

    什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说...

  • 清理日志文件的shell脚本

    清理~/logs下的日志文件,只保留最后100行 可以配合crontab定期执行

网友评论

      本文标题:清理 APFS 快照的shell脚本

      本文链接:https://www.haomeiwen.com/subject/nyblwktx.html