博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu系统备份与还原
阅读量:6274 次
发布时间:2019-06-22

本文共 2133 字,大约阅读时间需要 7 分钟。

http://xing.rocks/2015/03/06/ubuntu%E7%B3%BB%E7%BB%9F%E5%A4%87%E4%BB%BD%E4%B8%8E%E8%BF%98%E5%8E%9F/

前段时间电脑出了问题,要换台电脑工作,要在Ubuntu系统上搭建一个完善的工作环境挺费劲的,而且上面还有正在做的一个网站。因此,需要备份整个系统。

Ubuntu系统备份现在还没有一个很好的软件,但是由于Linux中一切皆是文件,所以直接用tar打包个系统即可。在网上有一些比较好的例子,例如.如果在备份中tar报错,自己根据提示信息排除特定文件夹即可。另外,备份前可以先关闭mysql之类的服务,防止程序运行导致备份时出差错。本篇记录的是自己在还原过程中出现的错误以及解决方法。

一、备份系统

1
2
sudo -s
tar cpzPf ubuntu.tgz --
exclude=/proc --exclude=/lost+found --exclude=ubuntu.tgz --exclude=/mnt --exclude=/sys --exclude=/home/xing/VirtualBox\ VMs/ --exclude=/home/xing/.cache /

参数:                                

  • -c :建立一个压缩文件的参数指令(create 的意思)
  • -p :使用原文件的原来属性(属性不会依据使用者而变)
  • -z :同时具有gzip的属性,即使用gzip压缩
  • -v :压缩的过程中显示文件
  • -f :使用档名
  • -P :使用绝对路径来压缩
  • —exclude FILE:排除的文件目录
    记得在打包过程中出现错误的文件目录要自行排除

二、还原系统

安装新系统后,先先备份/boot和/etc/fstab,前者是记录了开机boot选择的信息,后者记录了

分区挂载信息,变了就无法进入系统了。
然后将ubuntu.tgz拷贝到根目录,运行命令:

1
2
sudo -s
tar xvpfz ubuntu.tgz -C /

最后将备份的/boot和/etc/fstab复原

三、分区挂载

第一次没有经验,还原时没有备份fstab文件,导致开机后无法以原来的用户的挂载点消失,无法

进入系统,因此要重新改写fstab文件。 开机后进入登陆界面,按Ctrl+Alt+F1进入后台,然后就
可以用root权限操作了。

1. 首先,查看分区信息和磁盘类型:
1
2
sudo fdisk -l
sudo blkid

2. 然后,根据/etc/fstab格式修改

配置文件包含以下几项:

file system、 mount point、 type、options、dump、pass

  • system:分区定位,UUID 例如:/dev/sda5的是UUID=f00318bf-f572-4b9d-adcf-5d583c449b08
  • mount point : 具体挂载点的位置,例如:/boot
  • type : 磁盘类型,linux分区一般为ext4,windows分区一般为ntfs
  • options : 挂载参数,一般为defaults
  • dump : 磁盘备份,默认为0,不备份
  • pass : 磁盘检查,默认为0,不检查
3. 最后,检查挂载是否成功
1
sudo mount -a

如果没有问题,就大告成功了,再次登陆即可进入桌面了。

四、mysql重置密码

用了几天下来,apache、gbrowse、甚至QQ国际版都能很好的运行,目前只发现mysql在终端登陆时出错:

Access denied for user ‘root’@’localhost’ (using password:YES).可能是备份的时候mysql一直在运行,导致一些文件发生了丢失或错误。
使用mysqladmin也无法修改密码。最后找到了一种方法,参考
方法如下:

1
2
3
4
5
6
7
8
9
service mysql stop
mysqld_safe --user=mysql --
skip-grant-tables --skip-networking &
mysql -u root mysql
mysql> UPDATE user
SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
service restart
mysql -uroot -p
Enter password: <输入新设的密码newpassword>

其中核心的一点就就是参数—skip-grant-tables,即不使用密码也可以登陆mysql;—user

=mysql是以mysql用户身份运行,—skip-networking是只在本地运行,不必监听网络端口。然后就可以在
mysql表中更改用户密码了,最后成功登陆。

转载于:https://www.cnblogs.com/sinceyou/p/5617194.html

你可能感兴趣的文章
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
ffmpeg study 1
查看>>
Git使用教程
查看>>
使用shell脚本自动监控后台进程,并能自动重启
查看>>
Flex&Bison手册
查看>>
MySQL 5.6 for Windows 解压缩版配置安装
查看>>
solrCloud+tomcat+zookeeper集群配置
查看>>
/etc/fstab,/etc/mtab,和 /proc/mounts
查看>>
Apache kafka 简介
查看>>
socket通信Demo
查看>>
技术人员的焦虑
查看>>
js 判断整数
查看>>
建设网站应该考虑哪些因素
查看>>
mongodb $exists
查看>>
js实现页面跳转的几种方式
查看>>
sbt笔记一 hello-sbt
查看>>
常用链接
查看>>
pitfall override private method
查看>>
!important 和 * ----hack
查看>>