Gor*_*Ape 7 backup hard-disk raid1
我正在寻找一种方法来备份整个磁盘,以防万一出现问题...
我什至不知道在服务器的一些特殊设备上安装什么,而且每次都不一样。
会cp -a
为/
目录工作的?
有没有什么程序可以复制硬盘的所有数据?(就像硬盘的图像)。
我知道这至少存在于 Windows 中。
虽然硬盘在 RAID 1 上....
如前所述,有很多选择,哪一个最好取决于您的要求。
由于您的系统采用 RAID1,因此您只需更换一个磁盘即可让镜像自行重建。删除的磁盘可以用作备份副本。
过去,对于完整系统备份,我使用过Ghost4Linux(又名 G4L)和Mondo/Mindi。前者可以在本地或远程保存分区映像,后者可以创建可启动恢复(+救援)CD 或 DVD。两者都有 ncurses gui,不需要命令行使用。
但很多时候,我只是复制整个系统。我主要使用 rsync,但这里有一些我认为这就是您正在寻找的选项。
假设您有两个分区,/
并且/var
您想要完整的备份。所有命令都需要 root 权限。
mkdir /mnt/orig
mount / /mnt/orig -o bind
mount /var /mnt/orig/var -o bind
Run Code Online (Sandbox Code Playgroud)
这将为 rootfs 创建一个新的挂载点,您现在可以复制该挂载点,而不必担心其他挂载的文件系统,例如/proc
或/sys
或 网络共享。
假设您有第二个磁盘,已使用适当的文件系统进行格式化并安装在/mnt/backup
(或同一安装点上的 NFS)下。建议停止某些服务的运行,例如mysql服务或邮件服务器,以确保复制数据的完整性。
以下每个命令都应该足够了。
cp -a /mnt/orig/* /mnt/backup/
rsync -a /mnt/orig/ /mnt/backup/
tar -C /mnt/orig -cf - ./ | tar -C /mnt/backup -xpf -
Run Code Online (Sandbox Code Playgroud)
不过最后一个有点矫枉过正了。tar
并rsync
提供一个--exclude
基于模式匹配跳过文件的参数,例如--exclude=\*.log --exclude=var/tmp
. 上述命令不使用压缩,您将拥有系统的精确副本。您还可以安装 grub 并使备份磁盘可引导。
如果备份设备上的空间有限或文件系统 (NTFS) 不兼容或者是 CIFS 安装共享,则可以创建压缩的 tar 存档。
tar -C /mnt/orig -zcf /mnt/backup/mybackup_$(date -I).tar.gz ./
Run Code Online (Sandbox Code Playgroud)
或者创建一个 squashfs 映像,您可以稍后循环安装并像普通文件系统一样浏览其内容。
mksquashfs /mnt/orig/ /mnt/backup/mybackup.squashfs
mkdir /mnt/squash
mount /mnt/backup/mybackup.squashfs /mnt/squash -o loop
Run Code Online (Sandbox Code Playgroud)
ssh
另外,使用和tar
或获取远程备份rsync
。rsync
需要对远程服务器进行 root 访问,以保留所有权、权限、设备文件等,这--numeric-ids
对于不与远程系统的用户混合所有权是必要的。
tar -C /mnt/orig -zcf - ./ | ssh user@server 'cat -> mybackup_$(date -I).tgz'
rsync -aP -e ssh --numeric-ids /mnt/orig/ root@server:/path/to/backup/
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,完整恢复需要使用另一个系统(最好是 Live CD)启动,然后创建/重新排列分区方案、复制/提取数据并再次安装启动加载程序。