![我如何让 Timeshift 备份整个系统?](https://linux22.com/image/1021265/%E6%88%91%E5%A6%82%E4%BD%95%E8%AE%A9%20Timeshift%20%E5%A4%87%E4%BB%BD%E6%95%B4%E4%B8%AA%E7%B3%BB%E7%BB%9F%EF%BC%9F.png)
我如何让 timeshift 备份整个系统?我找不到任何教程来做到这一点!我使用的是默认配置。
答案1
你不能这样做,因为它不是为此设计的。
时间移位与 rsnapshot、BackInTime 和 TimeVault 等应用程序类似,但目标不同。它旨在仅保护系统文件和设置。用户文件(如文档、图片和音乐)被排除在外。这可确保您的文件在您将系统恢复到较早的日期时保持不变。如果您需要一个工具来备份您的文档和文件,请查看优秀的时光倒流该应用程序具有更强的可配置性,并提供了保存用户文件的选项。
- 建议使用 BackInTime
来自链接:
Back In Time 是一个简单的 Linux 备份工具,受到“flyback 项目”的启发。
它提供了一个命令行客户端“backintime”和一个 Qt5 GUI“backintime-qt”,均用 Python3 编写。
您只需指定 3 件事:
- 快照保存位置
- 要备份哪些文件夹
- 备份频率(手动、每小时、每天、每月)
- 注意的第二件事似乎表明可以通过告诉它备份来创建完整备份
/
。 - 通用工具(例如 Clonezilla)或手动定制的命令也可以使用。
===
完整的系统备份应该从未安装的分区进行,实时会话是执行此操作的最简单工具。这也是大多数人不进行完整系统备份而只备份个人文件的原因:如果系统本身损坏并且无法修复,从实时会话恢复备份可能也是最简单的。但重新安装会更容易:我自己使用 SSD 来存储系统,使用 HDD 来存储个人文件。重新安装只需 20 分钟(包括安装后额外安装我使用的非默认软件)。
答案2
虽然 Rinzwind 的答案在您想要遵循最佳实践的情况下很好 - 但可悲的现实是,一个糟糕的备份比哗众取宠和要求下载一个全新的应用程序要好。所以我在这里提供我的意见:
让 Timeshift 备份所有内容可能有点棘手。最重要的是,GUI 无法通过列表排序以及添加/删除操作来解释优先级。
对我来说,我喜欢手动编辑 JSON,但如果这样做,您可能会破坏时间移位,因此请进行备份。不过,在执行此操作之前,请确保你已完成时间移位设置向导,以在 JSON 文件中设置默认值,例如backup_device_uuid
sudo su
切换到 root 用户cd /
切换到根目录find . -type f -name "timeshift.json"
找到你的 timeshift json 文件(我的是 /etc/timeshift/timeshift.json)ls -la /etc/timeshift/timeshift.json
检查你的权限-我的权限为rootsudo cp /etc/timeshift/timeshift.json /etc/timeshift/timeshift.json.bak
编辑前先进行本地复制sudo subl /etc/timeshift/timeshift.json
使用 sudo 以 sudo 模式打开 json 文件。如果你没有安装 sublime text,你可以使用 gedit
您可以在 Timeshift 中手动启用主文件夹,但添加大量目录可能会很累,因此手动编辑就派上用场了。我将我的编辑粘贴在下面。如果您遇到 Timeshift 的严重崩溃,可能是由于 JSON 无效。您可以通过终端启动它CTRL+ALT+T -> timeshift &
以查看日志输出。或者,您可以使用DuckDuckGO 的 JSON 验证器以确保你的是有效的。
我喜欢做的是修改 JSON,运行 timeshift,查看日志以查看创建了什么,关闭 timeshiftsudo rm -rfv /timeshift
或类似操作以删除所有快照(文件夹位置 YMMV),并反复执行直到正确为止。
我为什么要建议人们修改 JSON 文件?因为二进制文件令人恼火。它没有提供关于按什么顺序放置内容的明确文档,而且它会重新排列项目,甚至exclude
在不告知您的情况下将其从属性列表中删除。
这是我的exclude
json 属性,供其他人复制。我显然是一名开发人员,因此我希望将大量 JS、Py 和 GO 状态保留在备份之外。
还记得排除必须先于纳入。
"exclude" : [
"- /home/userhome/.aws/**",
"- /home/userhome/.cache/**",
"- /home/userhome/.docker/**",
"- /home/userhome/.java/**",
"- /home/userhome/.local/**",
"- /home/userhome/.mozilla/**",
"- /home/userhome/.npm/**",
"- /home/userhome/.nvm/**",
"- /home/userhome/.serverless/**",
"- /home/userhome/.terraform.d/**",
"- **site-packages/**",
"- **venv/**",
"- **pkg/mod/**",
"- **pkg/sumdb/**",
"- **node_modules/**",
"+ /home/userhome/**",
"+ /root/**"
],
希望这对某些人有帮助。备份总是一件好事,而 Timeshift 非常挑剔。