所以,说到 Linux,我可以说是一个“几乎”菜鸟。我最近开始在 CentOS 工作站上工作,我知道其他用户对它进行了很多自定义。我还知道有很多更新(比如 800)我迫不及待地想安装。我需要备份哪些目录以及如何备份,以确保这台共享工作 PC 能够恢复到以前的状态,如果这个备份过程会破坏很多东西?提前谢谢您!
答案1
最简单的方法是拍摄分区/硬盘的映像。查看 dd 手册页。 dd@维基百科。 一些 dd 命令
简而言之,您可以使用 dd 通过命令获取分区/硬盘的映像
dd if=/dev/sda of=/backupfoler/sda.img dd if=/dev/sda1 of=/backupfolder/sda1.img
,然后进行恢复,只需使用 live cd 启动计算机并反转 if= 和 of=。dd 几乎总是安装在每个 linux 系统/live-cd 中
dd if=/path/to/image/sda.img of=/dev/sda
dd if=/path/to/image/sda1.img of=/dev/sda1
只需检查一下fdisk -l
您需要拍摄哪个硬盘/分区的图像。
或者看看转储工具。
答案2
备份不会破坏任何东西。
要获得系统的精确副本,最好对驱动器进行一点复制(可能先压缩)。我知道您不想这样做,这意味着您将做出一些妥协。
- 从用户的角度来看 /home/* 可能是最重要的,同样 /root
- /etc 包含您的系统配置设置,特别有用。
- 根据您安装的内容,/opt 可能至关重要,也可能完全不重要,甚至不存在。同样,/usr/local
- /var 的某些部分可能也很有用,但您可能可以忽略其中的大部分,包括 /var/log、/var/cache、/var/spool - 请注意,许多数据库(mysql、postgres)默认安装在 /var 下。您最好将这些转储到 SQL。如果您有“额外”磁盘,您可能需要查看 /media - 但这不太可能成为系统的核心部分。
如果您有一个“vanilla”安装并且只使用了标准软件包,您可能不需要备份 /usr - 但您应该执行 rpm -qa > /root/files.lst - 这将转储已安装软件包的列表 - 您需要此列表以便您可以确保所有软件包都安装在您的新系统上(如果您需要去那里)。
答案3
好的,我明白了。但您至少应该备份 /home <- 用户文件 /etc <- 这是配置文件所在的位置。使用“tar” /var,您可以像这样存档这些目录。
tar -pcvzf backup.tar.gz /home /etc /var --exclude='/var/tmp' --exclude='/var/lock'
--exclude='/var/run'
您可以使用“du”检查这些目录的大小,看看是否有足够的空间
du -h -c /home | grep total
du -h -c /etc | grep total
du -h -c /var | grep total
此备份应该可以满足大多数需求。如果系统/软件崩溃,你只需重新安装即可。