如何将tar用于SSD上的系统和HDD上的home的完整备份和还原?
现有的备份和还原答案似乎无法涵盖root和home位于单独设备上的情况
如何将tar用于SSD上的系统和HDD上的home的完整备份和还原?
现有的备份和还原答案似乎无法涵盖root和home位于单独设备上的情况
Answers:
建议进行两次备份。如果1在/上,则1在/ home上(如果它们在不同的分区上)。如果需要一个,则必须为该命令添加很多例外。例:
sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /
tar -cvpzf backuphome.tar.gz --one-file-system /home/
将备份您的根目录并排除所有已挂载的分区,例如/ media(您不想备份外部设备(您实际上不是)),并且您绝对不希望备份/ dev或/ proc之类的东西。/ home转到另一个备份。
在上述方法中,备份存储在/中。最好将其存储在外部媒体上。然后,您可以在backup.tar.gz的前面放置一个目录,并将其--exclude=...
从第一个命令中删除。
--exclude
将阻止实际备份被备份。cvpzf:创建,详细,保留权限,压缩,使用文件。
--one-file-system-不要包括其他文件系统上的文件。如果要备份其他文件系统(例如/ home分区)或/ media中安装的外部媒体,则需要分别备份它们,或者忽略此标志。如果确实省略此标志,则将需要再添加几个--exclude =参数,以避免不需要的文件系统。这些将是根目录中的/ 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 /
(我希望我得到了所有需要排除的内容)
恢复将是
sudo su
cd /
tar xvzf backup.tar.gz
我没有sudo
在tar命令前使用过,因为您会收到有关权限的错误消息(由于root拥有的文件)。
tar
并不真正在乎设备和挂载点。请编辑您的帖子以包含其他信息。