使用Timeshift快照备份与恢复
一、TimeShift 的工作原理
TimeShift 通过文件系统快照实现备份与恢复,支持基于 rsync 和 Btrfs 两种模式:
二、TimeShift 的安装和配置
在 Ubuntu 系统上,安装 TimeShift:
sudo apt update
sudo apt install timeshift
配置 TimeShift 时,应该编辑 /etc/timeshift.json 文件,而不是/etc/timeshift/timeshift.json,将“备份设备”设置为适合的磁盘,并根据需求修改快照的 exclude(排除)项。
{
"backup_device_uuid" "50b7de6c-35c1-4c4e-939b-b5f17ae8f289"
"btrfs_mode" "false"
"schedule_daily" "true"
"count_daily" "5"
"exclude": [
"/mnt/mmcblk1p1/",
"/root/"
]
}
三、TimeShift 的实际操作流程
创建系统快照
建议使用外部U盘,可以用DiskGenius格式化为Ext4文件系统,首先执行一次完整快照:
sudo timeshift --create --comments "Initial Snapshot" --tags D
查看已创建的快照
使用以下命令查看当前快照:
sudo timeshift --list
删除旧快照
可以使用 –delete 参数删除旧快照,释放空间:
sudo timeshift --delete --snapshot "Name(时间)"
如下:
sudo timeshift --delete --snapshot '2024-11-11_17-23-52'
当系统出现问题时,通过还原快照快速恢复:
sudo timeshift --restore --snapshot "Name(时间)"
如下:
sudo timeshift --restore --snapshot '2024-11-11_17-23-52'
四、TimeShift 操作注意事项
设置备份目标目录
我们可以通过配置 /etc/timeshift.json 中的 backup_device_uuid 来确定备份位置。 通过如下命令可以查看磁盘 UUID :
blkid
或
lsblk -o name,mountpoint,size,uuid
排除目录
在配置文件中 exclude 参数中可以追加自定义排除的目录:
"exclude":[
"/home/",
"/root/"
]
TimeShift 默认会跳过以下一些目录,以确保备份和恢复的效率、空间占用和可靠性:
- /dev、/proc、/sys、/run:这些目录属于动态、虚拟文件系统。它们包含设备文件、内核和进程信息等。备份这些目录并没有实际意义,因为其内容会在系统启动时自动生成,且不包含持久数据。
- /tmp:临时文件目录,用于存放短期使用的文件。系统重启后,该目录内容会被清空,备份它没有实际作用。
- /media、/mnt:挂载点目录,主要用于挂载外部存储设备和临时文件系统。备份它们可能会包含无关的外部数据,占用备份空间。
对于一些活动性很强的目录,如 /var 和 /home 下的部分数据(例如数据库和日志文件),TimeShift 也建议谨慎对待。
由于TimeShift每次操作都会mount /dev/sda1 /run/timeshift/backup,而且操作完,不会自动unmount,需要手动unmount /dev/sda1。