Linux 系统的备份恢复

码农在线 2021-01-21 13:38:19
linux 系统 备份 恢复


tar 命令

Linux学习

副本(本机备份整个系统,以后还原还是还原到本机)

注意根目录下要有充足的可用空间用于备份。

cd /#tar.gz格式tar cvpzf system_backup.tar.gz / --exclude=/proc --exclude=/lost+found --exclude=/system_backup.tar.gz --exclude=/mnt --exclude=/sys#tar.bz2格式tar cvpjf system_backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/system_backup.tar.bz2 --exclude=/mnt --exclude=/sys# 恢复系统cd /#上传文件到根目录下tar xvpfz system_backup.tar.gz -C /或tar xvpfj system_backup.tar.bz2 -C /#创建备份时排除的目录mkdir procmkdir lost+foundmkdir mntmkdir sys
  • /proc 权限:文件所有者:root群组:root 所有者:读取 执行 群组:读取 执行 其它:读取 执行
  • /lost+found 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
  • /mnt 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
  • /sys 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行

恢复完成重启以后,所以的事情都会和你备份的时候一模一样。


镜像(本机备份系统,还原到新主机上)

1,检查系统版本,在目标机上安装一样版本的系统(最简安装即可),分区格式,类型也一样(我没试过不一样的情况,不知道能否成功)lsb_release -auname -adf -Thfree -h2,备份源系统# 因为目标机和源主机硬件配置不同,所以排除dev,tmp;再适当增加你要排除的文件,如:--exclude=/root/*.bz2# 这里再mnt下有充足空间,所以保存到mnt下。cd /tar cvpzf /mnt/system_backup.tar.gz / --exclude=/mnt/system_backup.tar.gz \--exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/dev \--exclude=/tmp --exclude=/media# 上传到目标主机scp /mnt/system_backup.tar.gz root@192.168.0.166:/mnt3,在目标机上用ISO、LiveCD等启动,挂载磁盘(一般会自动挂载到/media文件夹)sudo -s cd /media/<对应的uuid号># 备份重要配置文件/boot/gurb/gurb.cfg /etc/fstab记录里面的UUID,# 删除重复文件# 除了上面备份系统时排除的一些文件夹外,比如说dev mnt media sys这些文件夹,其他全部删除。rm -rf root home usr lib lib64 etc var bin sbin opt boot run selinux vmlinuz initrd.img# 还原备份mount /dev/vda1 /mnt/1# 这里注意千万不要写/目录,会把现有的系统搞挂!!!应该是挂载的目录tar xvpfz system_backup.tar.gz -C /mnt/1cd /mnt/1 #此时你可以看到根目录的结构,但是编辑fstab文件发现是现有系统的fstabchroot ./ #执行chroot后会以./目录为根目录,这时编辑的文件就是真正的目标源文件了。还原后修改/etc/fstab里的UUID为刚刚备份的文件里面的信息,注意分区格式也要对应。修改/boot/gurb/gurb.cfg里的UUID为刚刚备份的文件里面的信息。修改网卡、IP配置文件,以防无法分配IP。(如果是虚拟机记得添加网卡,配置中等性能的显卡)如果有依赖于原有平台的服务,如内建NTP,Agent等监控程序;关闭服务,关闭开机自启;Ubuntu:在命令行输入runleve可以查看当前运行级别,一般默认是2查看/etc/rc2.d目录中的S开头的服务都是会开机自动运行的;里面是软链接,想添加的话自己建一个链接文件就可以,S代表start,后面数字是启动顺序,删除软链接。同时删除/etc/init.d/下对应的脚本。vim /etc/init.d/rc.localCentos:用systemctl完成上述步骤后exit #退出chrootcd ~umount /mnt/1# 一切完成后就可以重启了,不出意外就正常启动系统了(启动后原来安装系统时设置的账户等全部消失;账户和源主机一致)。若开机Grub提示“boot error 15 :Error 15 file not found”解决方法:请检查GRUB相关文件的内核文件所在位置。通常与/boot分区有关。若开机Grub提示“dracut:dono't how to hand root=f078”解决方法:将root=UUID改成root=/dev/sdaX这种格式。若开机系统提示/usr/libexec/gconf-sanity-check-2退出状态256的解决解决方法:chmod 777 /tmp

rsync命令

注意目标分区的格式最好是NTFS、FAT、EXT之类的格式,避免遇到大于4G的文件无法备份的问题。

#最好有其他分区或外接存储设备,挂载好,df -lh看挂载点。#备份rsync -Pa / /media/usb/backup_20170410 --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/*#恢复rsync -Pa /media/usb/backup_20170410 /

dd命令

dd命令属于扇区克隆,目标分区要比备份分区要大,即使没有使用的空间也会被原样克隆下来,会比较慢。

#备份df -h #查看系统所在分区dd if=/dev/sda1 of=/dev/sdb3 #备份sda1到sdb3中#恢复dd if=/dev/sdb3 of=/dev/sda1 #恢复sdb3到sdb1中

以上就是良许教程网为各位朋友分享的Linux相关知识。

版权声明
本文为[码农在线]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000039048400

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云