讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么设置计划快照_Linux btrfs子卷快照教程【恢复】

风强吖_1689

风强吖_1689

发布时间:2026-03-01 14:44:02

|

960人浏览过

|

来源于php中文网

原创

需依赖快照管理工具配合定时任务实现Btrfs周期性快照:一、Snapper通过systemd timer每小时自动创建;二、Timeshift由timeshift-daemon守护进程驱动计划任务;三、Cron+手动btrfs命令提供完全自主控制;四、btrbk支持增量式与精细化保留策略;五、须定期验证快照生成、空间占用及内容完整性。

linux怎么设置计划快照_linux btrfs子卷快照教程【恢复】

如果您希望在Linux系统中对Btrfs文件系统实现自动化的周期性快照,以保障系统状态可回溯,则需依赖快照管理工具配合定时任务机制。以下是设置计划快照的具体操作路径:

一、使用Snapper配置定时快照

Snapper是专为Btrfs(及LVM)设计的快照管理工具,支持通过配置文件定义快照策略,并借助systemd timer实现自动化触发。其核心配置位于/etc/snapper/configs/目录下,每个配置对应一个挂载点子卷。

1、确认目标子卷已启用Snapper配置:运行sudo snapper list-configs,检查输出中是否包含如root或home等配置项。

2、编辑对应配置文件:执行sudo nano /etc/snapper/configs/root,将TIMELINE_CREATE="yes"设为启用,并调整TIMELINE_LIMIT_HOURLY、TIMELINE_LIMIT_DAILY等参数控制保留数量。

3、启用并启动timeline定时器:运行sudo systemctl enable --now snapper-timeline.timer,该timer默认每小时检查一次并按策略创建快照。

4、验证定时器状态:执行systemctl status snapper-timeline.timer,确认Active状态为active (waiting),且Next elapse时间符合预期。

二、使用Timeshift配置计划快照

Timeshift提供图形化与命令行双模式,原生支持Btrfs子卷快照,其计划任务由内部守护进程timeshift-daemon驱动,无需手动配置systemd服务。

1、安装Timeshift:在Debian/Ubuntu系执行sudo apt install timeshift;Arch系使用sudo pacman -S timeshift。

2、首次启动并选择Btrfs模式:运行sudo timeshift,在设置向导中选择BTRFS Snapshots作为备份类型,并指定/.snapshots挂载点为存储位置。

3、设定计划任务:进入Settings → Schedule,勾选Enable scheduled snapshots,选择频率(如Daily)、保留个数(如5),并启用Boot snapshots选项。

4、初始化守护进程:关闭GUI后,Timeshift会自动注册timeshift-daemon.service,运行sudo systemctl is-active timeshift-daemon确认其处于active (running)状态。

三、使用Cron+手动btrfs命令创建计划快照

若需完全自主控制快照命名、路径与条件逻辑,可绕过高级工具,直接编写shell脚本并交由cron调度。此方法不依赖额外服务,但需确保脚本具备足够权限访问Btrfs设备及子卷。

1、创建快照脚本:执行sudo nano /usr/local/bin/btrfs-snapshot-cron.sh,写入内容:

#!/bin/bash<br>mount_point="/"<br>snapshot_name="auto_$(date +\%Y\%m\%d_\%H\%M)"<br>sudo btrfs subvolume snapshot "$mount_point" "$mount_point/.snapshots/$snapshot_name"

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

2、赋予执行权限:运行sudo chmod +x /usr/local/bin/btrfs-snapshot-cron.sh。

3、添加cron任务:执行sudo crontab -e,插入行:0 * * * * /usr/local/bin/btrfs-snapshot-cron.sh(表示每小时整点执行)。

4、验证cron日志:检查/var/log/syslog中是否出现CRON相关条目,或临时将脚本末尾添加echo "$(date): snapshot done" >> /tmp/cron-snap.log用于调试。

四、使用btrbk配置增量式计划快照

btrbk是面向Btrfs的专用备份工具,强调跨主机同步与保留策略精细化,适用于需要长期归档或多级快照链的场景。其配置以YAML格式声明,通过btrbk run触发。

1、安装btrbk:从官方GitHub发布页下载二进制文件,或在Debian系使用sudo apt install btrbk。

2、创建配置文件:执行sudo nano /etc/btrbk/btrbk.conf,写入示例段:

target: /backup<br>snapshot_dir: .snapshots<br>preserve: <br>  hourly: 24<br>  daily: 7<br>  weekly: 4<br>volume:<br>  - source: /<br>    snapshot: true

3、测试配置语法:运行sudo btrbk --dry-run --verbose,确认无报错且列出预期快照动作。

4、部署定时任务:执行sudo systemctl enable --now btrbk.timer,该timer默认每30分钟调用一次btrbk run。

五、验证快照是否按计划生成

无论采用何种工具,均需定期确认快照实际创建成功且未因权限、磁盘空间或挂载异常而中断。关键验证点包括子卷路径存在性、时间戳连续性及快照内容完整性。

1、列出所有快照:运行sudo btrfs subvolume list -s /.snapshots,观察输出中是否包含按预期时间命名的子卷路径,例如.snapshots/auto_20260220_2000。

2、检查快照内容:执行sudo btrfs filesystem usage /.snapshots,确认Device size与Data用量未达90%,避免因空间耗尽导致后续快照失败。

3、模拟恢复流程:选取一个旧快照路径,运行sudo btrfs subvolume snapshot /.snapshots/auto_20260220_2000 /tmp/test-restore,再用ls /tmp/test-restore/etc/os-release验证基础文件可读取。

4、审查工具日志:对Snapper执行journalctl -u snapper-timeline --since "1 hour ago";对Timeshift检查/var/log/timeshift/timeshift.log;对btrbk查看journalctl -u btrbk。

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

相关专题

更多
github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

8685

2026.01.21

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

918

2026.04.02

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4350

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3673

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2913

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7210

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6842

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3913

2023.07.20

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

0

2026.11.02

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn