侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

如何备份Ubuntu系统以在电脑出问题时及时恢复

linux  /  管理员 发布于 7年前   234

  相信不少人都没有对电脑备份的习惯,其实这样是不好的,在电脑出问题的时候备份的作用就体现出来的,它能够将系统还原到备份时候的状态。下面小编就给大家介绍下Ubuntu系统备份的方法。

  1.在桌面环境,打开你的移动硬盘

  查看磁盘所在盘符:df -ah

  df(DiskFree) a 代表all,h代表human(人)能理解的字符,详见命令 df --help

  ly@ly:/dev$ df -ah

  文件系统 容量 已用 可用 已用% 挂载点

  /dev/sda9 93G 8.9G 79G 11% /

  proc 0 0 0 - /proc

  sysfs 0 0 0 - /sys

  none 4.0K 0 4.0K 0% /sys/fs/cgroup

  none 0 0 0 - /sys/fs/fuse/connections

  none 0 0 0 - /sys/kernel/debug

  none 0 0 0 - /sys/kernel/security

  udev 1.9G 4.0K 1.9G 1% /dev

  devpts 0 0 0 - /dev/pts

  tmpfs 386M 888K 386M 1% /run

  none 5.0M 0 5.0M 0% /run/lock

  none 1.9G 156K 1.9G 1% /run/shm

  none 100M 36K 100M 1% /run/user

  gvfsd-fuse 0 0 0 - /run/user/ly/gvfs

  /dev/sdb5 222G 126G 97G 57% /media/ly/LY2

  /dev/sdb1 245G 175G 70G 72% /media/ly/LY1

  我想把备份文件放到移动硬盘LY1中。所以记住设备 sdb1 

  下面是备份Ubuntu系统的方法:

  然后打开终端,输入以下命令:

  1、成为根用户:sudo su

  2、转到根目录:cd /

  然後,下面就是我用来备份我的系统的完整的命令:

  tar -cvpzf /media/sda7/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media /

  接着,让我们稍微解释一下:

  tar 是用来备份的程序

  c - 新建一个备份文档

  v - 详细模式, tar程序将在屏幕上实时输出所有信息。

  p - 保存权限,并应用到所有文件。

  z - 采用‘gzip’压缩备份文件,以减小备份文件体积。

  f - 说明备份文件存放的路径, /media/sda7/backup.tgz 是本例子中备份文件名。这个备份文件备份的位置是其它分区,也就是原来的WIN分区中。因为我的根目录的空间不足,所以只有备份在其它的地方了。

  --excloude - 排除指定目录,使其不被备份

  来看看我们想要包含的目录,我们不必备份所有的东西,因为有些目录是没有多大用处的。确认你不想包含的文件,否则您会得到一个很奇怪的结果。 您也不必备份 /mnt 目录下的东西,除非您有其他分区挂在它下面或者你坚持要备份。您还必须确保没有任何资源挂在 /media 目录下(比如,任何CD或者移动存储介质)。否则,剔除/media。

  最後一个参数是我们想要保存的目录。 我们想要保存所有的东西,使用 / 作为根目录。

  我用这个办法进行备份的时候到了最后给我提示什么:tar:Error exit delayed from previous errors

  当然,你的可能显示的是中文,反正就是说什么错误,上网查了查,说是权限不足造成的,但是如果你使用了Root权限还是这样的话,最好使用Live usb进行备份,因为有人说运行的时候备份就有可能这样。(有人说这个提示可以忽略)

  用Live usb备份的办法:

  然后打开终端,输入以下命令:

  1、成为根用户:sudo su

  2、转到根目录:cd /

  3,创建目录:mkdir /a

  4,挂在根目录分区 mount /dev/sdax /a

  5,进入a目录 cd /a

  6,备份 tar -cvpzf /media/xxx/backup.tgz *

  然后就是将来还原Ubuntu系统备份了:

  警告: 求您了,看在上帝的份上,千万小心这儿。如果您不明白您正在干什么,那很有可能复盖掉您重要的数据,所以请特别小心!

  注意!!!因为 tar还原是只会覆盖相同的文件,但是这种方法只是恢复备份时的文件,就是说如果某些文件丢失或损坏了,这样可以恢复修复这些文件,但不能删除自备份到恢复前这期间所生成的其它文件,说白了就是假如你备份系统时有1234这四个文件,如果三天后,由于某些原因变成了1234‘5(4改变了),你恢复后,就会变成12345,其中4’恢复成备份时的文件,5保留。所以大家要是想彻底还原成备份时候的样子最好彻底删除根目录下的所有文件,然后在还原,这样就可以还原成备份时的样子了。

  好了,继续我们前面所讲的例子,我们在其它分区(sda7)目录下创建了一个名为backup.tgz的备份文件。

  Linux 中美妙的事情之一就是在系统正在运行的情况下可以进行还原操作,而不需要启动光盘或者其他任何乱七八糟的东西。当然,如果您的系统已经崩溃,那您必须选择 使用live CD,但是结果还是一样。

  好了,言归正传。这是我要用的命令,如果你的备份不是在和我一样的位置的位置的话,那请相应地修改/media/sda7这一点:

  tar -xvpzf /media/xxx/backup.tgz -C /

  如果您使用的是bz2压缩的:

  tar -xvpjf /media/xxx/backup.tar.bz2 -C /

  如果系统已经崩溃可以使用Live usb登录,然后

  mkdir /tmp/root

  mount /dev/sdaX /tmp/root

  tar -xvpjf /media/xxx/backup.tar.bz2 -C /tmp/root

  当然,恢复前可以先rm -rf /tmp/root/* 一下,这样就干干净净了。(就是之前说的删除根目录下的所有文件)

  这个只是在本机上还原,如果是还原到别的机子上记得修改fstab文件。(可能还需要安装grub)

  恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:

  # mkdir proc

  # mkdir lost+found

  # mkdir mnt

  # mkdir sys

  # mkdir media

  等等

  上面就是Ubuntu系统备份的方法介绍了,本文介绍了多种备份系统的方法,如果你对命令不是很熟悉的话可以使用Live usb进行备份。


  • 上一条:
    Ubuntu无法安装vim文本编辑器的解决方法
    下一条:
    Ubuntu使用集成开发环境QT无法输入中文的解决方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客