首页 > 数据库 >Mysql 定时备份数据库脚本

Mysql 定时备份数据库脚本

时间:2023-08-24 11:13:42浏览次数:41  
标签:-% log data 备份 Mysql backup 数据库 dir

Mysql 定时备份数据库;并且删除X天前的备份数据;

1.    创建数据目录

mkdir  data

cd /data 

2.    编写脚本文件

       vim   backup.sh

#!/bin/bash
#日期
dd=`date +%Y-%m-%d-%H-%M-%S`
#保存备份个数,备份2天数据
backup_clean_day=2
#用户名
username=root
#密码
password=密码
#将要备份的数据库
database_name=数据库名称
#备份保存路径
backup_dir=/data/db
#备份日志
backup_log=/data/log

#如果文件夹不存在则创建
if [ ! -d $backup_dir ]; 
then     
    mkdir -p $backup_dir; 
fi
#创建备份日志文件夹
if [ ! -d $backup_log ]; 
then     
    mkdir -p $backup_log; 
fi

function log_info () 
{ 
    echo “$dd execute $0 $@” >> $backup_log/$database_name-log.txt
}

mysqldump -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql

# 备份成功之后,删除本次以外的备份数据
cd $backup_dir
#删除2天之前的备份
find $BCK_DIR -type f -mtime +$backup_clean_day -delete

#写创建备份日志
log_info "$@ info"

  :wq  保存退出。

3.    脚本编写完成,需要添加文本权限

    chmod +x  backup.sh

4.    设置定时任务,采用的是crontab;

  crontab -e

  进入编辑页面,添加每日凌晨一点的执行计划

  0 1 * * * /data/backup.sh  5.   查看执行计划       crontab -l     重启服务让定时计划生效   service crond restart  至此,操作结束。

 

标签:-%,log,data,备份,Mysql,backup,数据库,dir
From: https://www.cnblogs.com/wang188/p/17653648.html

相关文章

  • 中国图数据库,领导者!
    本文分享自华为云社区《中国图数据库,领导者!》,作者:HWCloudAI。近日,全球领先的IT市场研究和咨询公司IDC发布《IDCMarketScape:中国图数据库市场厂商评估,2023》报告华为云GES(图引擎服务)凭借多年的技术积累和丰富的行业实践经验位居领导者类别  IDCMarketScape报告......
  • MySQL相关
    mysql-悲观锁使用select...forupdate,就实现了。zhelyao注意,mysql的select...forupdate语句,会把所有扫描的行都锁上,所以在mysql中使用悲观锁,我们必须要确定走了索引,不然可能会全表扫描,锁住整个表。mysql-乐观锁在我们要修改前,先查询一个这个值和一个自己维护的版本号,记录下来......
  • Python-PyMySQL的一些使用注意事项
    一、关于groupby的使用在部分mysql版本(5.7.xx及以上)中,若select的列中,包含了未被groupby的字段,会报以下错误:[Err]1055-Expression#1ofORDERBYclauseisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'xxxx'whichisnotfunctionallydependentoncolu......
  • 数仓数据导出mysql保留换行符踩坑
    记录一个导数的小坑,数仓里面的数据需要导出到mysql,然后报表展示,并且需要把一段文字里面的换行功能体现出来;数仓里面的原始数据采用的是$符号进行分割每一行数据,直接把$符号替换为\n然后导出到mysql,发现没有生效,反而在页面上把\n展示出来了。那么注意了,经过反复尝试写成\\\n,然......
  • mysql insert出现主键冲突错误的解决方法
    mysqlinsert出现主键冲突错误的解决方法insert时防止出现主键冲突错误的方法在mysql中插入数据的时候常常因为主键存在而冲突报错,下面有两个解决方法:1在insert语句中添加ignore关键字insertignoreintotable(id,name)values('1','username');这是如果id主键已经存......
  • QT数据库连接管理类
    使用单例管理整个项目的数据库连接。在QT中不同线程须使用不同的数据库实例。MySql有连接超时——超过设定(默认8小时)没有活动会关闭连接。一、头文件#pragmaonce#ifndefCSQLDATABASE_H#defineCSQLDATABASE_H#include<QtSql>#include<QString>#include<QMutex>#i......
  • MySQL表按天分区
    建表语句要分区的字段必须为主键或联合主键之一CREATETABLE`test_partition`(`id`int(11)NOTNULLAUTO_INCREMENT,`day`datetimeNOTNULL,`name`varchar(20)DEFAULTNULL,PRIMARYKEY(`id`,`day`));插入数据INSERTINTOtest_partitionvalues (1,......
  • MySQL 5.7 的安装与配置
    一、下载MySQL链接:https://pan.baidu.com/s/16KWOzmHbAvXdFwZi73Obrg?pwd=bwcx提取码:bwcx--来自百度网盘超级会员V1的分享(1)官网:https://dev.mysql.com/downloads/windows/installer/(2)点击Nothanks,juststartmydownload.等待下载完成!!二、安装MySQL(1)选择自定义......
  • net6 使用ef core 映射mysql数据库(方法一)
    1.安装下载nuget包Pomelo.EntityFrameworkCore.MySql和Microsoft.EntityFrameworkCore.Design如下图 2.创建一个模型类,之后映射到数据库里面的表、字段和这个类是一致的。publicclassMovies{///<summary>///id///</summary>......
  • Mysql学习
    ​Mysql​数据库(DataBase,简称DB):存储和管理数据的仓库。数据库管理系统(DataBaseManagementSystem,简称DBMS)DBMS是操作和管理数据库的大型软件。将来我们只需要操作这个软件,就可以通过这个软件来操纵和管理数据库了。此时又出现一个问题:DBMS这个软件怎么知道要操作的......