数据备份与进程管理
一、数据备份
1.Linux服务器中需要备份的数据
(1)Linux系统重要数据:/root/目录,/home/目录,/etc/目录
(2)安装服务的数据:Apache(配置文件,网页主目录,日志文件)
2.备份策略
(1)完全备份:把所有需要备份的数据全部备份(整块硬盘、整个分区或某个具体目录)
优点:数据恢复方便
缺点:备份数据量大,备份时间长,占据空间较多
(2)增量备份:先进行一次完全备份,后比较数据差异,只备份差异数据
优点:备份数据较少,耗时较少,占用空间较少
缺点:数据恢复比较繁琐(先恢复完全备份,后按照第一、第二.....增量备份数据恢复)
(3)差异备份:先进行一次完全备份,后每次备份都备份和原始完全备份数据不同的数据
优点:不需要备份所有数据,数据恢复也比较方便
缺点:随时间增加,差异备份也可能变得数据庞大,备份缓慢,占用较大空间
3.备份工具
命令格式:dd if="输入文件" of="输出文件" bs="数据块" count="数量"
- if:定义输入数据的文件,也可以是输入设备
- of:定义输出数据的文件,也可以是输出设备
- bs:指定数据块大小,默认512字节
- count:指定bs的数量
注:如果想要备份分区,则分区大小不能比原分区小,只能和原分区大小一致或比原分区大;如果需要恢复,只需要把输入项和输出项反过来即可
网络复制工具:rsync和scp
- rsync:可以实现服务器之间的备份数据,也可以增量备份,实现类似镜像的效果
- scp:在Linux之间传文件,基于ssh的cp
scp /root/本地文件 root@192.168.25.16:/root/ #上传
scp root@192.168.25.6:/root/本地文件 /root/ #下载
4.xfs文件系统的备份与恢复
注:xfs文件系统支持备份功能,使用xfsdump命令和xfsrestore可以完成备份与恢复
备份——可进行完全备份、增量备份、差异备份
注意事项
- 不支持对未挂载文件系统进行备份
- 必须使用root身份才有权限执行
- 只能备份xfs文件系统,默认只支持备份文件系统
- 备份数据只能被xfsrestore解析
- 通过UUID来辨别备份文件,不能备份两个具有相同UUID的文件系统
xfsdump选项
- -L:记录每次备份的说明标签
- -M:指定存储媒介的说明标签
- -l:指定备份级别(0-9),0是完整备份,1-9是增量备份
- -f:指定转储的目的地
- -I:从/var/lib/xfsdump/inventory列出目前备份的信息状态
(1)备份整个分区:xfsdump -f 备份文件路径 被备份路径或设备文件
注:被备份路径可以写成/dev/sda1或/disk1,不能写成/disk1/
(2)指定备份是免交互操作
语法:xfsdump -f /opt/dump_2 /disk1 -L dump_2 -M sda1
(3)指定只备份分区中的某个目录(-s 文件路径[相对路径])
语法:xfsdump -f /opt/dump_test -s test /disk1 -L dump_test -M sda1
(4)文件系统恢复
语法:xfsrestore -f 指定恢复文件的位置 指定存放恢复后的文件路径
(5)增量备份
全备:xfsdump -f /opt/dump_full /disk1 -L dump_full -M sda1
第n次:xfsdump -l n -f /opt/dump_backn /disk1 -L dump_backn -M sda1
二、进程管理
1.进程概述和PS管理进程
进程的组成部分:已分配内存的地址空间,进程ID(PID),程序代码,进程状态
进程管理包括:进程调度、中断处理、信号、进程优先级、进程切换、进程状态、进程内存等
进程的生命周期:
- 父进程复制自己的地址空间(fork)创建一个新的子进程结构
- 每个进程分配一个唯一的进程ID(PID),满足跟踪安全性之需
- PID和父进程(PPID)是子进程环境的元素,任何进程都可以创建子进程
- 所有进程都是第一个系统进程的后代
- Centos5或6 PID为1的是init,Centos7是systemd
僵尸进程:不执行代码,占用内存地址空间
- 当一个进程收到终止信号时,它结束之前需要一段时间来结束所有任务
- 在进程执行所有代码之后,它将相关终止报告发给父进程
- 父进程正常情况下会移除所有子进程的数据结构
- 如果父进程没能接收到子进程的退出信号,那么子进程就变为了僵尸进程
- 所以通常在某个很短的时间内,子进程是一个僵尸进程
- 使用kill命令不能杀死僵尸进程,因为它已经被认定为死亡
- 可尝试杀死僵尸进程的父进程,僵尸进程也会随之消失
- 如果一个进程为僵尸状态,父进程是init或systemd,那么需要重启系统来解决问题
2.进程、线程、协程
- 进程:是一个执行环境, 包含指令、用户数据、部分系统数据,以及运行期内获取的其他资源
- 线程:较小的轻量级实体,进程中产生的一个执行单位(线程直接可以共享资源,包括内存、地址空间、打开文件等)
- 协程:最小实体,可通过并发方式运行;协程的创建、切换和销毁开销非常低,因为它们在用户态完成,不涉及操作系统的内核切换(与线程相比,需要的系统资源少,能在更小的内存空间中运行)
补充
- 进程调度:操作系统决定哪个就绪进程获得cpu的执行权的过程
- 中断处理:cpu响应硬件或软件中断,暂停当前任务,转而去执行中断服务程序,完成后恢复原任务
- 信号:内核或进程向目标进程发送的异步通知
- 进程优先级:决定进程被调度执行的优先顺序
- 进程切换:CPU从一个进程切换到另一个进程时,保存当前进程的上下文,并加载新进程的上下文
- 进程状态:运行、就绪、阻塞
- 进程内存:进程运行时分配的地址空间