Linux---江湖
在前面的一些文章中,我反复提到经常会把系统搞崩溃,所以备份系统就是一件不容忽视的事情。由于Linux系统本身的优越性,系统的备份和还原还是比较容易的。主要表现在以下方面:
- Linux系统所有的数据都以文件的形式存在,所以备份就是直接拷贝文件;硬盘分区也被当成文件,所以可以直接克隆硬盘数据。
- Linux系统自带很多实用工具,比如tar、dd、rsync等,备份还原系统不需要购买或下载第三方软件。
- Linux系统在运行时其硬盘上的文件可以直接被覆盖,所以还原系统的时候不需要另外的引导盘。(当然,系统完全挂掉到无法启动这种情况还是需要另外的引导盘的。)
备份Linux系统的策略有很多,比如使用dd命令直接克隆硬盘分区:
sudo dd if=/dev/sda1 of=/dev/sdb1
或者,使用tar将硬盘上的文件打包:
cd /
sudo tar cvpzf backup.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/backup.tgz /
还原系统的命令是:
sudo dd if=/dev/sdb1 of=/dev/sda1
或
tar xvpfz backup.tgz -C /
但是我最终选择的是rsync命令。rsync是一个非常优秀的文件同步工具,从它的名字可以看出,它支持远程同步。当然,在备份我的桌面系统时,只需要用到它的本地同步功能就行了。之所以选择rsync,是因为它具有如下优点:
- 在备份还原过程中,可以保存文件原有的时间、权限、软硬链接等信息;
- 首次备份时,需要复制所有文件,但是再次备份或还原系统时,只需要复制修改过的文件。
关于rsync的使用方法,其主要参考文档是man rsync,另外,rsync也可以作为守护进程运行用来建立文件备份服务器,可以参考文档man rsyncd.conf。
桌面系统备份实战
对于我的桌面系统,我选择的备份策略是使用rsync命令将硬盘上的所有文件(当然要排除/proc和/sys目录下的内容)复制到U盘上。首先使用df -lh命令查看一下我电脑的系统占多大空间,如下图:
从上图可以看出,根目录所在的分区占用了14G,而/boot目录所在的分区才占用100多M。其实Linux系统本来不用这么臃肿,只是因为我安装了太多的软件包,比如一整套的texlive啊什么的,才占用了这么多的空间。不过这都不是事儿,反正现在U盘也便宜,所以找个32G的USB 3.0的U盘来备份我这个系统,肯定是很轻松愉快的。
新U盘插到电脑上会被自动识别,使用不带参数的mount命令可以查看U盘的设备文件和挂载路径,使用fdisk命令了解U盘的大小和分区情况。如下图:
整个U盘分成一个区我没什么意见,不过我不喜欢它的vfat文件系统,万一碰到超过4G的巨型文件怎么办?so,先umount它,然后使用mkfs.ext3为它重新建立一个文件系统,如下图:
再把U盘mount起来,挂载的路径为/media/youxia/usb。如下图:
然后,可以开始备份了,我备份的命令是:
sudo rsync -Pa / /media/youxia/usb/backup_20141216 --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/*
如下图:
下图是备份完成后的效果,可以看到整个备份过程花了59分多钟,U盘被占用15G,如下图:
如果哪天系统再崩溃了的话,只需要使用sudo rsync -Pa /media/youxia/usb/backup_20141216 /即可恢复系统。
(京山游侠于2014-12-18发布于博客园,转载请注明出处。)
另:该文章使用Markdown写作,写起来挺舒服的。而且我的博客开启了数学公式支持,所以各位评论的朋友们注意了,如果评论中用到$字符,请使用<span>$</span>这种形式。
posted @ 2014-10-20 17:34 京山游侠 阅读(615) | 评论 (2) 编辑 |
posted @ 2014-09-30 15:17 京山游侠 阅读(597) | 评论 (5) 编辑 |
posted @ 2014-09-12 13:15 京山游侠 阅读(896) | 评论 (3) 编辑 |
posted @ 2014-08-24 15:30 京山游侠 阅读(512) | 评论 (2) 编辑 |
posted @ 2014-07-13 13:55 京山游侠 阅读(579) | 评论 (3) 编辑 |
posted @ 2014-06-29 13:05 京山游侠 阅读(705) | 评论 (0) 编辑 |
posted @ 2014-06-20 21:27 京山游侠 阅读(693) | 评论 (2) 编辑 |
posted @ 2014-06-18 21:40 京山游侠 阅读(770) | 评论 (1) 编辑 |
posted @ 2014-06-08 18:45 京山游侠 阅读(699) | 评论 (5) 编辑 |
posted @ 2014-06-04 10:17 京山游侠 阅读(1092) | 评论 (7) 编辑 |
posted @ 2014-05-27 21:37 京山游侠 阅读(866) | 评论 (8) 编辑 |
Linux---江湖的更多相关文章
- Linux江湖01:玩转Linux系统的方法论 (转载)
http://www.blogjava.net/youxia/archive/2015/01/08/linux001.html 2014年上半年,我是在写RCP系列.然后,由于要准备研究生毕业论文和答 ...
- Linux 江湖系列阶段性总结
引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...
- 玩转 Linux 系统的方法论
Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...
- Linux应用环境
转载Linux应用环境 阅读目录 引言 使用 Linux 的一些困难和解决方法 我眼中的Linux哲学总纲 我这一系列随笔中展现出的Linux哲学 Linux之得和Linux之失 总结 回到顶部 引言 ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...
- vim编辑器的使用详解
在Linux江湖,最常用到的编辑器非vim莫属,vim的功能很强大. 1. vim简介 在Linux世界中,最长用到的而且功能比较强大的是Vim编辑器.Vim编辑器是在内存缓冲区中处理数据. vi ...
- Linux 桌面系统字体配置要略
字体显示效果测试 这一段是为了测试宋体字的显示效果,包括宋体里面自带的英文字体,“This is english,how does it look like?”.这一行是小字.后面几个字是加粗的宋体. ...
- 操作系统Unix、Windows、Mac OS、Linux的故事
电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...
随机推荐
- 泛泰A820L (高通公司MSM8660 cpu) 3.4内核CM10.1(Android 4.2.2) 测试版第二版
欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo cr ...
- 高性能mysql主存架构
原文:高性能mysql主存架构 MySQL Replication(Master与Slave基本原理及配置) 主从mysql工作原理: 1:过程: (1)Mysql的复制(replication)是一 ...
- ASP.NET Identity 身份验证和基于角色的授权
ASP.NET Identity 身份验证和基于角色的授权 阅读目录 探索身份验证与授权 使用ASP.NET Identity 身份验证 使用角色进行授权 初始化数据,Seeding 数据库 小结 在 ...
- Forbidden You don't have permission to access / on this server.
原文:Forbidden You don't have permission to access / on this server. Forbidden You don't have permissi ...
- 设计模式C++实现_1_Singleton设计模式(简单的实现)
Singleton设计模式 思路如以下: Single.h #pragma once #include <iostream> #include <string> using n ...
- ASP.NET MVC5 插件机制中插件的简单实现
Autofac 依赖注入 ASP.NET MVC5 插件机制中插件的简单实现 一.前言 由于项目业务复杂,创建了多个插件并把他们放在了不同的项目中,项目使用AutoFac做的IOC:但是主项目可以注入 ...
- How to recover from 'programmers burnout(转)
程序员这个压力大,节奏快,任务繁重,所以很容易令人感觉倦怠,令人感觉烦躁,郁闷,疲惫不堪. 本文将介绍的是程序员如何克服可怕的“职业倦怠”. 丰盛的早餐——身处高科技产业漩涡的我们常常会熬夜到凌晨两三 ...
- 大约SQL/NoSQL数据库搜索/思考查询
转载请注明出处:jiq•钦's technical Blog Hbase特征: 近期在学习Hbase.Hbase基于行健是建立了索引的,查询速度会很快,全然实时. 可是Hbase要基于行健之外的字段进 ...
- OJ提交题目中的语言选项里G++与C++的区别(转载)
原文链接:http://blog.polossk.com/201405/c-plus-plus-g-plus-plus G++? 首先更正一个概念,C++是一门计算机编程语言,G++不是语言,是一款编 ...
- 都能看懂的嵌入式linux/android alsa_aplay alsa_amixer命令行使用方法
前几天在嵌入式linux上用到alsa command,网上查的资料多不给力,仅仅有动手一点点查,最终能够用了,将这个用法告诉大家,以免大家少走弯路. 0.先查看系统支持哪几个alsa cmd: ll ...