1、Linux服务器中哪些数据需要备份
1)Linux系统重要数据:
①/root/目录,管理员家目录
②/home/目录,普通用户家目录
③/etc/目录 ,系统重要的配置文件保存目录
2)安装服务的数据:例apache①配置文件②网页主目录③日志文件
根据实际情况判断
2、备份策略
① 完全备份(Full Backup):它会复制所有选定的数据文件到备份介质上,包括首次备份时创建的所有更改。优点是恢复点明确,一旦发生灾难,可以从这个完整点开始恢复。
缺点是每次备份时间较长,空间占用大,如果频繁做完整备份可能会导致存储成本增加。 适用于初次备份或系统大规模变更后,因为需要从零开始重建整个系统。例如大型项目上线前或者重要的系统升级完成后。关键服务器
②增量备份(Incremental Backup):只备份自上次完整备份以来新增加或修改过的数据。优点是节省时间和存储空间,因为只需要备份新或改动的部分。
缺点是恢复过程复杂,需要先还原完整备份,再逐步恢复增量或差分备份,如果连续几次只有小部分改变,备份次数过多可能导致恢复效率低。适合于经常有大量数据更新或修改的环境,如持续集成/持续部署(CI/CD)流程中,可以定期进行,节省存储空间但恢复时需要按顺序进行多次恢复操作。
③差异备份(Differential Backup):类似于增量备份,但它备份的是自上次完整备份以来所有变化的数据,而不是从上一次增量备份以来的变化。优点是可以提供相对快速的备份,并减少存储需求。缺点是恢复过程比增量备份稍微简单一些,但仍需先恢复完整备份,然后应用差分备份。 适用于数据变动不是特别频繁,但希望定期检查历史状态的应用,它可以在较短的时间内生成较新的备份集,同时减少了恢复时间,但对连续的小变更仍有一定的备份间隔。
3、备份工具:
命令格式:dd if=输入文件 of=输出文件 bs=数据块 count=数量
参数:if:定义输入数据的文件,也可以是输入设备。
of:定义输出数据的文件,也可以是输出设备。
bs:指定数据块的大小,也就是定义一次性读取或写入多少字节。默认数据块大小是512字节。
count:指定bs的数量。
dd命令还可以用来直接备份某个分区,当然可以把分区备份成为一个备份文件,也可以直接备份成另一个新的分区。先来看看如何把分区备份成文件:
例2:备份分区为一个文件:
[root@localhost ~]# dd if=/dev/sda1 of=/tmp/boot.bak
记录了409600 0 的读入
记录了409600 0 的写出
209715200字节(210 MB)已复制,9.46323 秒,22.2 MB/秒 #备份完成。
[root@localhost ~]# ll -h /tmp/boot.bak #查看。
-rw-r--r-- 1 root root 200M 11月 17 15:40 /tmp/boot.bak[root@localhost ~]# dd if=/tmp/boot.bak of=/dev/sda1
如果需要进行恢复,执行此命令即可。如果想要把分区直接备份成为另外一个分区,就需要生成一个新的分区,这个分区的大小不能比源分区小,只能和源分区一大小一致或比源分区大。
例3:备份分区到另一个新分区[root@localhost ~]# dd if=/dev/sda1 of=/dev/sdb1
#如果需要恢复,只要把输入项和输出项反过来即可,命令如下:
[root@localhost ~]# dd if=/dev/sdb1 of=/dev/sda1
既然可以备份分区,当然也可以整盘备份:
例4:整盘备份:[root@localhost ~]# dd if=/dev/sda of=/dev/sdb
#把磁盘a备份到磁盘b。
[root@localhost ~]# dd if=/dev/sda of=/tmp/disk.bak #把磁盘a备份成disk.bak。
命令如下:[root@localhost ~]# dd if=/tmp/disk.bak of=/dev/sdb
虽然dd命令功能强大,不过也有个明显的缺点,就是复制的时间比较长(根据服务器性能变化而变化)至于网络复制工具,如rsync和scp等,需要较为完善的网络知识才能学习。
partprobe用于重读分区表
损坏操作
补充:
cp 源文件位置 目标位置
scp 源文件位置 用户名@ip:目标位置
scp /root/fstab root@192.168.5.133:/root/ #上传。
scp root@192.168.5.129:/root/fstab /root/ #下载。