scr*_*ibe 7 backup external-hdd copy
我想/在升级我的操作系统之前将root 中的所有内容复制到我的外部硬盘上,这样我就会拥有一切,以防出现问题。以下是最合适的命令吗?
username@machine:/$ sudo cp -r . /media/username/TOSHIBA\ EXT/root_copy/
Run Code Online (Sandbox Code Playgroud)
Gor*_*ter 13
补充一下 PP 所说的,您并不是真的想复制每个目录。我tar用来备份我需要的所有内容,并“排除”我不需要的目录。该命令基本上是tar (options) BACKUP-FILENAME TARGET。如果您运行以下命令,它应该可以解决问题。
sudo tar -cvpzf /media/username/TOSHIBA\ EXT/root_copy/root-copy.tar.gz --exclude='/mnt' --exclude='/run' --exclude='/proc' --exclude='/sys' --exclude='/media' --exclude='/dev' --exclude='/lost+found' --exclude='/tmp' --exclude='/boot' --exclude=".*lost+found" / 2> /root/tar-errors.txt
我知道它看起来很多,但 tar 将在/media/username/TOSHIBA\ /EXT/root_copy/. 文件名为root-copy.tar.gz. 它将排除我提到的每个目录,--exclude最后它会转储名为/root/tar-errors.txt.
以这种方式使用 tar 的另一个好处是备份文件将是一个“压缩的 tarball”。它本质上是一个压缩档案,因此您可以节省外部驱动器上的空间。
我确信有更简单的方法可以做到这一点,但我一直使用这种方法来备份我的系统。
是的,如果您想复制 下的所有内容/,则可以执行以下操作:
sudo cp -r / media/username/TOSHIBA\ EXT/root_copy/
Run Code Online (Sandbox Code Playgroud)
但是,在继续之前......你需要知道,你真的不想要复制一切下/:)
您通常只需要复制您的数据;不是所有的操作系统二进制文件、安装的应用程序、配置文件等。这就是 about 命令会做的事情。
如果操作系统升级失败,那么“复制”所有内容都不是一件容易的事。如果您有数据,您只需重新安装操作系统并从外部磁盘/介质复制回数据即可。
此外,如果您设置了安装操作系统以外的其他分区并将数据保存在那里,那么您可能根本不需要从外部复制。您可以将数据保存在单独的分区中。如果操作系统重新安装失败,您只需擦除该分区并重新安装操作系统,而无需触及保存数据的其他分区。
考虑对磁盘进行映像,而不是仅制作文件副本。升级过程中可能会弄乱的不仅仅是文件:EFI 系统分区、引导扇区等。
我会推荐 Clonezilla。它是用户友好和可靠的。他们有自己的专用启动盘。一些救援磁盘也提供了它(例如 GRML),您可以将它安装在 Ubuntu Live CD 上。
Clonezilla 图像不可浏览,但可用于轻松地将整个磁盘恢复到以前的状态。
有些人可能会建议使用dd来创建原始图像。这也是一种有效的方法,生成的文件将是可浏览的,但它们将占用与整个分区大小一样多的空间。同时,Clonezillapartclone在幕后使用,它只复制实际使用的磁盘空间并忽略与dd. 默认情况下,Clonezilla 还将压缩图像。