计划任务备份

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 计划任务备份

       对于运维行业来说,最主要的就是备份和监控,而有计划地备份更是重中之重。下面就聊一聊计划任务备份!

计划调度任务

       任务调度分为一次性和周期性以及空闲备份。

一次性备份-at

       格式如下:

at 24:00

       例:创建一次性备份任务晚上十二点备份,备份etc目录。

1. [root@localhost ~]# at 24:00
2. at> tar zcf /backup/etc_$(date +%F).tar.gz /etc
3. at>         //按ctrl+d保存退出
4. job 1 at Fri Aug 26 00:00:00 2022

       查看任务

1. [root@localhost ~]# atq
2. 1   Fri Aug 26 00:00:00 2022 a root

       查看第二条任务内容

[root@localhost ~]# at -c 2

       删除at任务

[root@localhost ~]# atrm 1

空闲备份-batch

       batch直接调用at运行计划任务,所以方法和at相同。  batch不同于at的地方仅在于其所生成的任务计划是在系统空闲时执行的,故batch命令后不能指定时间。

       格式如下:

1. [root@localhost ~]# batch
2. at>

周期性备份-crond

       格式如下:

1. [root@localhost ~]# crontab -e [-u 用户名]
2. * * * * * /usr/bin/touch file

       上面命令五个星星分别代表“分 时 日 月 周”,计划任务中必须写命令的绝对路径,可以用whereis命令查看命令的绝对路径。

常用时间技巧如下:

"*":表示任何时刻都接受的意思,所有时间段位上不能同时为数字。

"数字":表示具体某一小时某一分钟等,如 8 8 8 8 * 表示每年的8月 8日8时8分 。

",":表示分隔时段,表示一段时间范围,如 8 9,13 * * * 表示每天9:08和13:08。

"*/":在对应的时间位的有效取值上每#一次,如 */8 * * * * 表示每8分钟一次。

"-":某个时间位上的连续区间,如 10-50/8 * * * * 表示第10分和第50分之间每8分钟一次。

备份mysql案例

       没有mysql需要安装,这里以二进制方式安装,相对编译安装会快很多,缺点是需要各种配置。安装直接执行下面脚本即可完成,但是需要做好准备工作(mysql光盘或tar包)。

       要求:每周日晚上23:30做一次完整备份;周一到周六晚上23:30做增量备份。 1、安装mysql5.7。

1、安装mysql

1. mount /dev/cdrom /media
2. tar zxf /media/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
3. mv mysql-5.7.20-linux-glibc2.12-x86_64  /usr/local/mysql
4. echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
5. source /etc/profile
6. rm -rf /var/run/yum.pid
7. yum remove -y mariadb-libs
8. useradd  mysql
9. mkdir -p /usr/local/mysql/data
10. chown -R mysql.mysql /usr/local/mysql/data
11. /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --
12. basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
13. cp /usr/local/mysql/support-files/mysql.server 
14. /etc/init.d/mysqld
15. cat >> /etc/my.cnf << end
16. [mysqld]
17. 
18. user=mysql
19. 
20. basedir=/usr/local/mysql
21. 
22. datadir=/usr/local/mysql/data
23. 
24. socket=/tmp/mysql.sock
25. 
26. server_id=6
27. 
28. port=3306
29. 
30. [mysql]
31. 
32. socket=/tmp/mysql.sock
33. 
34. prompt=mysql>
35. 
36. end
37. cat >> /etc/systemd/system/mysqld.service << end
38. [Unit]
39. 
40. Description=MySQL Server
41. 
42. Documentation=man:mysqld(8)
43. 
44. Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
45. 
46. After=network.target
47. 
48. After=syslog.target
49. 
50. [Install]
51. 
52. WantedBy=multi-user.target
53. 
54. [Service]
55. 
56. User=mysql
57. 
58. Group=mysql
59. 
60. ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
61. 
62. LimitNOFILE = 5000
63. 
64. end
65. systemctl restart mysqld

2、改密码

1. 通过执行/usr/local/mysql/bin/mysql_secure_installation修改
2. 或
3. [root@localhost ~]# mysqladmin -uroot password
4. New password: 
5. Confirm new password:

3、复制world.sql到/root,登录数据库

1. [root@localhost ~]#mysql -uroot -p123.com 
2. source /root/world.sql

4、查看库,切换库,查看表

show databases; 查看数据库

create database test; 创建数据库

drop database test; 删除数据库

use test; 切换数据库

show tables; 在库里面查看表

select * from stu; 查看表内容

create table stu(id int,name varchar(20),age int); 创建表 stu 增加三个列(id,name,age) int 数字 varchar(20) 表示20个字符

insert into stu values(1,'zhangsan',19); 添加一条记录 drop table stu; 删除表stu

5、创建备份脚本

1. [root@localhost ~]# mkdir /sh 
2. [root@localhost ~]# vim  /sh/backup.sh
3. #!/bin/bash
4. /usr/local/mysql/bin/mysqldump -uroot -p123.com --all-databases /backup/mysql_$(date +%F).sql

6、创建计划任务

1. [root@localhost ~]# crontab -e
2. 30 23 * * 0 /bin/bash /sh/backup.sh

crontab -l 查看计划任务

crontab -r 删除计划任务

7、xfs文件系统的备份与恢复

环境:添加第二块磁盘,挂载到/jimi

1. [root@localhost ~]# xfsdump -f /opt/dump_sdb1 /dev/sdb1     #备份磁盘分区
2. [root@localhost ~]# xfsrestore -f /opt/dump_sdb1 /jimi      #还原
3. [root@localhost ~]# xfsdump -I                              #查看所有备份记录

注意:脚本免交互命令

[root@localhost ~]# xfsdump -f /opt/dump_sdb2 /dev/sdb1 -L sdb1_opt_v1 -M sdb1


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
移动开发 监控 小程序
钉钉工作台开放能力建设阶段性总结
工作台的平台化开放能力建设已经走了近3年的时间,包括定制工作台的开放、工作台模板的开放、工作台组件的开放等等。本文主要是对过程中一些关键能力的总结和思考,欢迎交流。工作台的类型工作台作为企业业务数字化的统一门户,是组织用于提升管理效率、实现业务在线的平台。工作台的组织就是钉钉上的组织,针对不同的组织规模,提供了多种类型工作台:角色工作台、行业工作台和自定义工作台。角色工作台是对不同的角色,例如财务
1339 0
钉钉工作台开放能力建设阶段性总结
利用 HBuilderX 设置新闻中心版式
利用 HBuilderX 设置新闻中心版式
287 2
利用 HBuilderX 设置新闻中心版式
|
存储 算法
深度优先遍历(DFS):探索图的奥秘
当进行深度优先遍历(DFS)时,我们需要按照一定的步骤来遍历图中的节点。 选择起始节点:选择图中的一个起始节点作为遍历的起点。 标记已访问:将起始节点标记为已访问,并将其放入数据结构中,比如栈或递归调用。 探索相邻节点:从起始节点开始,探索与其相邻的节点。这是通过查找邻接表来实现的,邻接表存储了每个节点的相邻节点信息。 深入探索:选择一个相邻节点,标记为已访问,并将其放入数据结构中。然后,从这个相邻节点出发,继续探索其相邻节点,形成一个深入的路径。这一步是递归的核心。 回溯:当没有未访问的相邻节点时,回溯到上一个节点,继续探索其他未访问的相邻节点。这可以通过从数据结构中弹出节点来实现,或者从递
513 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的校园二手交易平台系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的校园二手交易平台系统的详细设计和实现
219 1
|
jenkins 持续交付 网络安全
Jenkins 配置 ssh key
Jenkins 配置 ssh key
2268 2
Jenkins 配置 ssh key
|
Java API
springboot 2.4.0 knife4j 3.0.1 接口文档框架
本文介绍了 springboot 2.4.0 框架集成 knife4j 3.0.1 接口文档框架的流程。 springboot 的 pom 文件中引入依赖; 启动类上加入 Knife4j 的注解; 配置扫描 api 接口; 在 model 类和 controller 中加入注解
544 0
springboot 2.4.0 knife4j 3.0.1 接口文档框架
|
Java 数据库 Spring
Spring AOP @After,@Around,@Before执行的顺序以及可能遇到的问题
Spring AOP @After,@Around,@Before执行的顺序以及可能遇到的问题
222 0
|
分布式计算 Linux Android开发
这 8 款 Windows 屏保程序,让你的锁屏都格调满满
这 8 款 Windows 屏保程序,让你的锁屏都格调满满
1474 0
这 8 款 Windows 屏保程序,让你的锁屏都格调满满
|
数据可视化 IDE 开发工具
中台架构建模难?BizWorks来助力
BizWorks建模平台是BizWorks基于领域驱动设计方法论的模型设计平台,提供了对业务域、领域模型、数据模型等可视化建模能力,实现了建模过程的可视化、在线化; 同时模型作为业务资产的重要载体,具备体系化联动和持续迭代演进的能力。
579 0
|
人工智能 弹性计算 自动驾驶
AI训练性能提升30%,阿里云发布GPU计算裸金属实例ebmgn7ex
ChatGPT、AIGC(人工智能生成内容)等技术潮流快速兴起,让普通人也感受到了人工智能技术应用落地对用户体验带来的巨大改变。应用的快速落地,离不开背后基础设施的支撑。人工智能模型的训练场景,往往要求高算力、高吞吐、低延时,可以大大加快训练速度,加速模型迭代。
AI训练性能提升30%,阿里云发布GPU计算裸金属实例ebmgn7ex