Bui*_*dit 17 ssd backup hard-drive restore
我将如何使用 tar 对 SSD 上的系统和 HDD 上的家庭进行完整备份和还原?
现有的备份和恢复答案似乎没有涵盖 root 和 home 在不同设备上的情况
Rin*_*ind 22
建议做两次备份。如果它们在不同的分区上,则为 / 和 /home 为 1。如果你想要一个,你将不得不为那个命令添加很多例外。例子:
sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /
tar -cvpzf backuphome.tar.gz --one-file-system /home/
Run Code Online (Sandbox Code Playgroud)
将备份您的根目录并排除所有已安装的分区,例如 /media(您不想备份外部设备(您确实不想备份))并且您绝对不想备份诸如 /dev 或 /proc 之类的内容。/home 转到另一个备份。
在上述方法中,备份存储在 / 中。最好将其存储在外部媒体上;然后,您可以在 backup.tar.gz 前面放置一个目录,并删除--exclude=...第一个命令中的 。
--exclude将阻止备份实际备份。cvpzf:创建、详细、保留权限、压缩、使用文件。
--one-file-system - 不包括不同文件系统上的文件。如果您想要备份其他文件系统,例如 /home 分区或挂载在 /media 中的外部媒体,您要么需要单独备份它们,要么省略此标志。如果你省略了这个标志,你将需要添加更多的 --exclude= 参数以避免你不想要的文件系统。这些将是 root 中的 /proc、/sys、/mnt、/media、/run 和 /dev 目录。/proc 和 /sys 是虚拟文件系统,它们为正在运行的内核的变量提供窗口,因此您不想尝试备份或恢复它们。/dev 是一个 tmpfs,其内容由 udev 动态创建和删除,因此您也不想备份或恢复它。同样, /run 是一个 tmpfs ,它保存有关不需要备份的正在运行的系统的变量(Source)。
所以......如果你真的仍然想要一个“单线”,它可能看起来像这样:
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys /
Run Code Online (Sandbox Code Playgroud)
(我希望我得到了所有需要排除的东西)
恢复将是
sudo su
cd /
tar xvzf backup.tar.gz
Run Code Online (Sandbox Code Playgroud)
我没有sudo在 tar 命令前面使用,因为您会收到有关权限的错误消息(因为文件归 root 拥有)。