一、概念知识
在备份恢复过程中,有两个关键指标:
-
恢复时间目标
以业务为出发点,即业务的恢复时间目标。
主要指所能容忍的应用停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。
-
恢复时间点目标
以数据为出发点,反应恢复数据完整性的指标
主要指业务系统所能容忍的数据丢失量
按照每次备份的数量可分为:
-
全量备份
概念:指对某一时间点上的所有数据进行全量备份,包括系统和所有数据。
优点:在恢复丢失数据时,只需要对一个完整的备份进行操作就能够恢复丢失数据,大大加快了系统或数据恢复的时间。
缺点:每次都需要对系统和所有数据进行一次全量备份。
-
增量备份
概念:指在第一次全量备份的基础上,分别记录每次的变化
优点:由于增量备份在备份前会判断数据是否发生变化,并仅记录每次变化情况,所以相较于其他两种备份方式它最大的好处在于其所需存储空间 最少的(相同的变化情况下),备份速度最快的。
缺点:从数据还原上来说,它的恢复时间是最长的,效率较低。恢复数据时,需要在第一次完备的基础上,整合每次的一个变化情况。
-
差异备份
概念:指在第一次全量备份的基础上,记录最新数据较第一次全量备份的差异。简单来说,差异备份就是一个积累变化的过程。
特点:恢复系统或者数据时,先恢复全量备份,然后恢复最后一次的差异备份即可完成。因此差异备份占用的储存空间和所需恢复时间介于全量备份和增量备份之间。
全量备份、增量备份、差异备份的比较:
-
从备份存储空间来看,增量备份 < 差异备份 < 全量备份
-
从备份恢复时间来看,全量备份 < 差异备份 < 增量备份
-
从备份需要时间来看,增量备份 < 差异备份 < 全量备份
Linux常见的日志文件名:
-
/var/log/cron 工作调度
-
/var/log/dmesg 内核检测过程中产生的信息
-
/var/log/lastlog 检测所有账号登陆信息
-
/var/log/lastb 检测账号登陆错误信息
-
/var/log/maillog 或 /var/log/mail/* 邮件
-
/var/log/messages 记录系统发生的所有错误信息
-
/var/log/secure 涉及账号密码信息
-
/var/log/wtmp,/var/log/faillog 记录正确登陆系统与错误登陆系统者的账号信息
-
/var/log/httpd/,/var/log/news/,/var/log/samba/* 不同网络服务的信息记录处
CentOS提供syslogd这个服务来统一管理。还有一个专门记录内核信息的日志文件服务,就是klogd。所以,日志文件所需的服务主要就是 syslogd与klogd这两者。
可以通过logrotate(日志文件轮替)来自动化处理日志文件容量与更新问题。所以:
-
syslogd:主要控制系统与网络等服务的日志记录的信息
-
klogd:主要控制内核产生的各种问题的日志
-
logrotate:主要进行日志文件的轮替功能
二、本地定时任务
1、检查是否已安装Linux本地定时任务Crontab
systemctl status crontab
2、安装Crontab
yum -y install vixie-cron
yum -y install crontabs
3、启动
systemctl start crond.service
4、Crontab目录结构
5、Crontab脚本编辑
crontab [-u username] 省略用户表,表示操作当前用户的crntab
-e 编辑工作表
-l 列出工作表里的命令
-r 删除工作表
#打开编辑器
crontab -e
#编辑内容,设定的定时任务为:每分钟发送一次“Hello”
* * * * * echo "Hello"
6、任务执行后,查看信息
/var/spool/mail
crontab的命令例子
* * * * * myCommand
|
每1分钟执行一次myCommand
|
3,15 * * * * myCommand
|
每小时的第3和第15分钟执行
|
3,15 8-11 * * * myCommand
|
在上午8点到11点的第3和第15分钟执行
|
3,15 8-11 */2 * * myCommand
|
每隔两天的上午8点到11点的第3和第15分钟执行
|
3,15 8-11 * * 1 myCommand
|
每周一的上午8点到11点的第3和第15分钟执行
|
30 21 * * * /etc/init.d/smb restart
|
每天的21:30重启smb
|
45 4 1,10,22 * * /etc/init.d/smb restart
|
每月1/10/22日的4:45重启smb
|
10 1 * * 6,0 /etc/init.d/smb restart
|
每周六、周日的1:10重启smb
|
0,30 18-23 * * * /etc/init.d/smb restart
|
每天18:00至23:00之间每隔30分钟重启smb
|
0 23 * * 6 /etc/init.d/smb restart
|
每周六23:00重启smb
|
* */1 * * * /etc/init.d/smb restart
|
每1小时重启smb
|
* 23-7/1 * * * /etc/init.d/smb restart
|
晚上11点到早上7点之间,每隔1小时重启smb
|
三、利用Crontab备份MySQL数据库
1、创建数据库备份脚本
cd /usr/local;
mkdir xym;
touch sqlAutoBak.sh;
vi sqlAutoBak.sh;
2、在sqlAutoBak.sh中编写脚本
![](https://i-blog.csdnimg.cn/blog_migrate/0adb5038292db74bcdc26c342b3bd0c6.png)
3、保存以后,修改文件读写权限
chmod 777 sqlAutoBak.sh;
4、编写定时任务,执行sql备份脚本
00 05 * * * /bin/sh/usr/local/xym/sqlAutoBak.sh
四、恢复数据库
mysql -u root -p testDB < /mnt/mysqlBackup/db_20200602.sql