Ubuntu全盘备份与恢复

2019年03月08日 99 字 教程整理


对系统进行备份是运维的重点,可以节省系统因异常崩溃而恢复的精力,同是避免重要数据丢失。

0.1. 系统的备份

简单来说,系统的备份就是把分区上的所有内容都打包到一个TAR文件里。
脚本如下:

    #预定义
    rq=`date +%Y%m%d-%H%M%S`
    system_server_ip=106-15-226-150
    backup_file_base_path=/usr/local/system_backups/local/
    
    #准备系统备份文件储存信息
    dump_tar_file_name='system_backup_'${system_server_ip}'_'${rq}.tgz
    current_backup_file_path_str=${backup_file_base_path}${rq}'/'

    cd ${backup_file_base_path}
    mkdir ${current_backup_file_path_str}
    
    backup_file_localPath=${current_backup_file_path_str}${dump_tar_file_name}

    #打包备份文件
    cd /
    tar cvpzf ${backup_file_localPath} --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/usr/local/system_backups/local --exclude=/usr/local/system_backups/remote --exclude=/usr/local/mysqlDB_dumps_remote --exclude=/media /
    

这里的关键语句是:

    #打包备份文件
    cd /
    tar cvpzf ${backup_file_localPath} --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/usr/local/system_backups/local --exclude=/usr/local/system_backups/remote --exclude=/usr/local/mysqlDB_dumps_remote --exclude=/media /

--exclude表示备份时须排除在外的目录。
有些目录是无用的,例如/proc、/lost+ found、/sys
当然,备份系统打包生成的tar文件本身必须排除在外,否则可能会得到一些超出常理的结果。
如果不把/mnt排除在外,那么挂载在/mnt上的其它分区也会被备份。
另外需要确认一下/media上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西,必须把/media也排除在外。

备份完成后,在文件系统的指定的${backup_file_base_path}目录将生成一个名为${dump_tar_file_name}的文件,这个文件的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

0.2. 系统的恢复

如果服务器的Ubuntu系统已经崩溃,无法进入。则可以使用Ubuntu安装U盘(live USB)进入试用Ubuntu界面。

切换到root用户,找到之前Ubuntu系统的根目录所在磁盘分区(一般电脑上的磁盘分区(假设分区名称为sdaX)均可以在当前Ubuntu系统的根目录下的media目录下(即/media)找到。目录通常为当前根目录下 cd /media/磁盘名称/分区名称)。

  1. 进入该分区,输入以下指令来删除该根目录下的所有文件:

     sudo rm -rf /media/<磁盘名称>/<分区名称*>
    
  2. 将备份文件${dump_tar_file_name}拷入该分区:

     sudo cp -i ${dump_tar_file_name} /media/<磁盘名称>/<分区名称*>
    
  3. 进入分区并将压缩文件解压缩,参数x是告诉tar程序解压缩备份文件:

     sudo tar xvpfz ${dump_tar_file_name}
    
  4. 重新创建那些在备份时被排除在外的目录;

     sudo mkdir proc lost+found mnt sys media 
    

     mkdir proc 
     mkdir lost+found 
     mkdir mnt 
     mkdir sys
    
  5. 此时重启电脑,服务器的一切内容将恢复到选定备份的状态。