Mysql 定时备份数据库脚本

发布时间 2023-08-24 11:02:06作者: 大王来巡山w

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 
至此,操作结束。