首页 > 数据库 >定时备份测试平台的mysql数据文件

定时备份测试平台的mysql数据文件

时间:2022-11-07 09:56:55浏览次数:71  
标签:数据文件 备份 echo num atp mysql backup dir

背景

定时备份ATP 的 Mysql 数据,一周一次,仅保留 2 个月数据(8次)

解决步骤

思路

编写shell脚本实现备份功能,后加上定时任务

第一部分(shell脚本)

#!/bin/bash

# 定义mysql的数据文件路径
datadir=/var/lib/mysql

# 备份文件存放地址(根据实际情况填写)
backup_location=$datadir/atp_backup


backup_time=`date +%Y%m%d%H%M%S`

backup_dir=$backup_location

#定义备份函数
backup(){
echo "开始执行备份..."
echo "备份文件为:atp_$backup_time"
cp -r $datadir/atp $backup_dir/atp_$backup_time
echo "备份完成"
}

#定义备份目录下总共的文件数
total_num=`cd /$backup_dir;ls | wc -l`

#echo $total_num


#定义要保留的最新的文件数量
reserve_num=7

#定义要删除的数量
delete_num=$(expr $total_num - $reserve_num)
#echo $delete_num

#定义删除函数
remove(){

ls $backup_dir | sort | head  -n $delete_num |  while read file
do
echo "要删除的备份文件是:$file"
rm -rf $backup_dir/$file
done
}


#如果备份目录下总的数量大于等于要备份的数量,则执行删除,后执行备份操作
if [ $total_num -ge $reserve_num ]
then
    remove
fi

backup

第二部分

1、编辑加上定时任务(root用户)

corontab -e

0 3 * * 1 /bin/sh /opt/data/script/backup-atp-data.sh

2、使之生效

service crond restart

延伸阅读

linux定时任务详解

标签:数据文件,备份,echo,num,atp,mysql,backup,dir
From: https://www.cnblogs.com/Durant0420/p/16864999.html

相关文章

  • Mysql索引的一二三问
    下面文章整理下我对mysql索引的理解1、什么是索引索引和表的关系可以类比于目录和书籍,它们的存在就是为了更快地检索到记录,在mysql中,索引是表的一部分,是数据记录的引用指......
  • PVE挂载远程NAS目录作为storage PVE挂载 远程 备份空间
    点PVE后台的datacenter点storage点add>>SBM/CIFS填写表单,ID为新建storage的名称(任意)server为NAS的IPusername和密码为NAS的账号密码share为某个NAS目录content......
  • MySQL数据库如何改名
    前戏有时候生产环境是以项目来命名,有时候会出现更名情况,其实如何安全的更改数据库名,是个非常棘手的问题,特别是针对MySQL来数据库来说被取消的命令MySQL之前提供了一个re......
  • MySQL可重复读隔离级别并没有完全解决幻读
    MVCC产生幻读的场景两种读法解决幻读的方法快照读:使用快照ReadView,插入的数据,他的事务号也是插入任务所属的那个事务,只需要照常检查这个事务是否是可见的即可当前......
  • Mysql 之MVCC
    mvcc介绍MVCC是数据库提供并发访问控制的一种技术。其核心理念是数据快照,不同的事务访问不同版本的数据快照,从而实现不同的事务隔离级别。虽然是说具有多个版本的数据快照......
  • Mysql 主从复制 之宝塔篇
    链接:https://blog.csdn.net/qq_30180559/article/details/836286161.在两台服务商分别按照好宝塔及其数据库2.分别在两台服务器上创建数据库2.1假设一号服务器:192.1......
  • MySQL_子查询_exists后面的子查询使用
    语法Exists(完整的查询语句)结果:1or0 exists查询:先执行外查询或子查询,某一个字段的值再根据结果过滤子查询涉及到了主查询的字段 案例#查询有员工的部门名......
  • MySQL_子查询_from后面的子查询 的使用
    将子查询结果充当一张表,要求必须起别名#查询每个部门的平均工资的工资等级#第一步:SELECTAVG(salary),department_idFROMemployeesGROUPBYdepartment_idSELECT......
  • MySQL_子查询
    含义出现在其他语句中的select语句,称为子查询或内查询外部查询语句,称为主查询或外查询 分类按子查询出现的位置Select后面   仅仅标量子查询From后......
  • Mysql InnoDB Redo log
    一丶什么是redoinnodb是以也为单位来管理存储空间的,增删改查的本质都是在访问页面,在innodb真正访问页面之前,需要将其加载到内存中的bufferpool中之后才可以访问,但是在聊......