[原]Ubuntu Linux 系统备份以及恢复

ubuntu-system-backup

a):备份

该shell脚本 基于bash环境,会将 / /home /boot /usr /var 等目录 打包成压缩包

使用之前 之需要配置好 shell脚本当中的 备份文件的存放目录路径 以及 sudo 命令的用户密码 之后脚本可以全自动执行操作,备份位置最好是media目录中挂在的其他硬盘分区,或者其他存储介质

脚本已经排除了很多不需要备份以及不能备份的目录,这些都不影响,只要打包以上目录,就可以将你的系统整个备份了。

虽然linux系统一般不会产生多少垃圾文件 ,但是ubuntu内核,以及其他自动更新后留下的更新包不会被删除,so…打包备份后会减少不小的文件尺寸。关于ubuntu 的系统清理。大家自行google,很多朋友都在博客中记录了各种清理命令,我就不再复制了~~~

PS:特别注意

该脚本需要 ctrl+alt+F1 切换到命令行模式下执行,因为执行过程中会停止lightdm桌面服务,执行完成后,因为桌面服务已经停止所以不能切换回原桌面

只能 sudo service lightdm start 打开新的服务

#!/bin/bash
#Date 2013-10-9
#author wwpeng
#email 591826944@qq.com
#该脚本用于备份 ubuntu系统 会将系统 /boot /usr /var /home 打包成压缩文件
##########配置参数##########
#备份文件的保存目录
backup_path=/media/CAA45525A45514F3/ubuntu_backup
#root用户密码
su_password=wwpeng

#停止桌面服务
echo stop lightdm service...
echo "$su_password"|sudo -S service lightdm stop
#创建备份目录
backup_path=$backup_path"/"$(date +%Y%m%d%H%M%S)
echo "$su_password"|sudo -S mkdir -p $backup_path
#开始创建 /boot 目录的备份文件
echo create boot backup.
echo "$su_password"|sudo -S tar -cvpzf ${backup_path}"/boot.tar.gz" /boot
#开始创建 /root 目录的备份文件
echo create root backup.
echo "$su_password"|sudo -S tar -cvpzf ${backup_path}"/root.tar.gz"
--exclude=/sys --exclude=/proc --exclude=/media --exclude=/home
--exclude=/usr --exclude=/var --exclude=/tmp --exclude=/boot
--exclude=/mnt --exclude=/prod --exclude=/lost+found --exclude=/run /
#开始创建 /usr 目录的备份文件
echo create usr backup.
echo "$su_password"|sudo -S tar -cvpzf ${backup_path}"/usr.tar.gz" /usr
#开始创建 /var 目录的备份文件
echo create var backup.
echo "$su_password"|sudo -S tar -cvpzf ${backup_path}"/var.tar.gz" /var
#开始创建 /home 目录的备份文件
echo create home backup.
echo "$su_password"|sudo -S tar -cvpzf ${backup_path}"/home.tar.gz" --exclude=/home/lost+found /home
#备份完成
echo "backup complete"

 github:https://github.com/a591826944/ubuntu-system-backup/blob/master/backup.sh

b):恢复

因为linux的备份也只是将系统文件,以及用户文件打包,因此恢复起来也是想当的简单,同样切换到命令行模式下,将压缩包解压,覆盖整个目录就可以了。

覆盖完成之后需要重新启动系统才能生效。

你也可以将这些文件解压到一个全新的ext4文件系统中,但是这样需要自己手动做系统的启动引导处理,才能让拷贝的系统正常启动,请自行google~~~