forked from study-area-cn/learn-linux-basic
新增备份相关内容
This commit is contained in:
parent
6af143308a
commit
d636104977
|
@ -0,0 +1,85 @@
|
||||||
|
# 备份
|
||||||
|
|
||||||
|
## 概念
|
||||||
|
|
||||||
|
备份是计算机使用中非常重要的操作。原则上来说,进行任何重大修改(比如更新系统、更新生产环境中的软件。)之前都需要备份。
|
||||||
|
|
||||||
|
按照备份的范围来分,常用的备份方式有以下几种:
|
||||||
|
|
||||||
|
- 全量备份:指把硬盘等存储介质中的所有文件**一次性完整复制**到其他介质上。
|
||||||
|
- 增量备份:对上一次备份后的数据后修改的数据进行备份。
|
||||||
|
- 差异备份:在完整备份之后,修改备份中与当前数据有差别的数据。
|
||||||
|
- 选择性备份:仅对系统中的一部分进行备份。
|
||||||
|
|
||||||
|
按照备份的时间来分,常用的备份方式分为以下两种:
|
||||||
|
|
||||||
|
- 计划性备份:比如一周一备份、一天一备份等。
|
||||||
|
- 操作前备份:在重大操作前备份,以便在操作后出现问题时可以快速回滚,减少损失。
|
||||||
|
|
||||||
|
> 有的人可能会说:“我们自己用电脑,备份有什么意义呢?” 2017年,勒索病毒WannaCry的肆虐,为我们敲响了警钟。这个病毒用AES加密用户电脑上的所有文件,以勒索钱财。没有人知道,下一个被勒索的,究竟是不是自己,我们只能通过备份将损失降到最低。
|
||||||
|
|
||||||
|
## 备份软件
|
||||||
|
|
||||||
|
Linux下,常用的备份工具有以下几种:
|
||||||
|
|
||||||
|
- dd:直接克隆整个分区。
|
||||||
|
- tar:将需要备份的文件打包压缩。
|
||||||
|
- rsync:可以进行增量备份、全量备份以及可以将备份传输到远程。
|
||||||
|
|
||||||
|
### `dd`命令
|
||||||
|
|
||||||
|
> 这个小节的内容,了解即可。
|
||||||
|
|
||||||
|
`dd`是一个比较简单的命令,它的功能也很简单,就是读入然后写出。
|
||||||
|
|
||||||
|
进行备份所需要了解的参数只有下面几个:
|
||||||
|
|
||||||
|
- `if=`:输入的文件名。
|
||||||
|
- `of=`:输出的文件名。
|
||||||
|
|
||||||
|
备份整块`sda`硬盘到`sdb`只需要以下命令。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
dd if=/dev/sda of=/dev/sda
|
||||||
|
```
|
||||||
|
|
||||||
|
> 注意!这里的sdb物理容量必须大于sda!并且sdb上所有的文件都会被覆盖!**无法找回!**
|
||||||
|
|
||||||
|
### `tar`命令
|
||||||
|
|
||||||
|
Linux中,可以直接使用`tar`打包需要的文件,比如备份`/etc`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd /
|
||||||
|
sudo tar -zcvf etc_backup.gz etc
|
||||||
|
```
|
||||||
|
|
||||||
|
## `rsync`命令
|
||||||
|
|
||||||
|
在之前的章节中,我们创建了一个新的虚拟磁盘。现在,让我们挂载它到`/backup`进行备份。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo mkdir /backup
|
||||||
|
sudo mount /dev/sdb1 /backup
|
||||||
|
sudo mkdir /backup/etc
|
||||||
|
```
|
||||||
|
|
||||||
|
> 如果你完成了所有的课后作业,那么sdb上应该有唯一的一个xfs分区占满了整个磁盘。
|
||||||
|
|
||||||
|
现在,我们使用`rsync`命令,将虚拟磁盘中的文件复制到新的虚拟磁盘上。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo rsync -avz /etc /backup/etc
|
||||||
|
```
|
||||||
|
|
||||||
|
`rsync`命令的参数如下:
|
||||||
|
|
||||||
|
- `-a`:递归模式,表示以递归方式传输文件,并保持所有文件属性。
|
||||||
|
- `-v`:显示详细输出。
|
||||||
|
- `-z`:压缩传输的数据。
|
||||||
|
- `/etc`:源文件。
|
||||||
|
- `/backup/etc`:目标文件。
|
||||||
|
|
||||||
|
`rsync`命令会自动判断源文件和目标文件是否相同,如果相同,则不会进行复制。如果不同,则会复制不同的文件。
|
||||||
|
|
||||||
|
> `rsync`命令是一个非常强大的命令,它不仅可以进行文件复制,还可以进行文件的同步、文件的删除等操作。如果你需要备份大量的文件,那么`rsync`命令是一个非常好的选择。
|
Loading…
Reference in New Issue