我如何使用tar进行包含系统(SSD)和用户目录(HDD)的完整备份和还原?
现有的备份和还原方法似乎没有涵盖根目录和用户目录分别位于不同设备的情况。
我如何使用tar进行包含系统(SSD)和用户目录(HDD)的完整备份和还原?
现有的备份和还原方法似乎没有涵盖根目录和用户目录分别位于不同设备的情况。
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 则会被备份到另一个位置。
在上述方法中,备份存储在 /。最好将其存储在外部介质上;然后您可以在备份.tar.gz 前面放置一个目录,并从第一个命令中删除 --exclude=...
。
--exclude
选项将阻止实际备份被备份。cvpzf:创建、详细显示、保留权限、压缩、使用文件。
--one-file-system - 不包括不同文件系统上的文件。如果您想备份其他文件系统,例如 /home 分区或挂载在 /media 上的外部媒体,您需要单独备份它们,或者省略此标志。如果省略此标志,您需要添加更多的 --exclude= 参数来避免不需要的文件系统。这些文件系统包括根目录下的 /proc、/sys、/mnt、/media、/run 和 /dev 目录。/proc 和 /sys 是虚拟文件系统,提供了运行中内核变量的窗口,因此不应尝试备份或恢复它们。/dev 是一个由 udev 动态创建和删除内容的 tmpfs,因此也不应备份或恢复它。同样,/run 是一个保存有关运行系统的变量的 tmpfs,不需要备份(来源)。
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
命令吗? - stephanmg
tar
并不关心设备和挂载点。请编辑您的帖子以包含额外的信息。 - David Foerster