vlambda博客
学习文章列表

Centos定时备份 MySQL数据库

一、编写数据库备份脚本 backupmysql.sh

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

#!/bin/bash

# Name:bakmysql.sh

# This is a ShellScript For Auto DB Backup and Delete old Backup

 

backupdir=/data/mysql/dwy/mysqlbackup;

 

#备份文件后缀时间

time=_` date +%Y_%m_%d_%H_%M_%S`

 

#需要备份的数据库名称

db_name=database

 

#mysql 用户名

db_user=root

 

#mysql 密码

db_pass=password

 

/usr/local/mysql/bin/mysqldump -u$db_user -p$db_pass $db_name|gzip>$backupdir/$db_name$time.sql.gz

 

#删除7天前备份文件

find $backupdir -name "$backupdir_*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

  

二、给与脚本授权

1

chmod +x backupmysql.sh

  

 三、编写定时执行备份任务

1

2

3

4

5

# 输入如下命令:

crontab -e

 

# 在页面中编写如下内容:

00 03 * * * /root/backupmysql.sh

  

四、可实现效果

可实现每天凌晨三点自动执行编写的脚本,备份MySQL数据库到 /data/mysql/dwy/mysqlbackup 下,且只保留最近7天的数据库备份。