Linux下Mysql定时备份数据

1.编写定时任务需要执行的脚本内容。(本次示例为定时备份mysql数据库)
    

编写备份数据库脚本bakmysql.sh,内容如下:

#!/bin/bash
#Name:bakmysql.sh
#This is a ShellScript For Auto DB Backup and Delete old Backup
#备份目录
backupdir=/home/app/bak
#备份文件后缀时间,用于区分备份文件名
time=` date +%Y%m%d%H%M `
#需要备份的数据库名称
db_name=gzrd_lf_menu
#mysql 用户名
db_user=root
#mysql 密码
db_pass=root123456
mysqldump -u $db_user -p$db_pass $db_name --hex-blob | gzip > $backupdir/$db_name$time.sql.gz
#删除7天前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
部分参数说明:--hex-blob  解决blob数据类型引起的mysqldump乱码问题-type f    表示查找普通类型的文件,f表示普通文件。-mtime +7 按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前。-exec rm {} \; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。
编写完之后保存。
给对应用户可以执行这个脚本的权限,这里直接给所有的权限。
chmod 777 bakmysql.sh

 

2.配置定时计划:

        
        vi /etc/crontab 编辑文件(如果没有安装corntab,用yum命令安装一下, yum -y install crontab)
        
        在最后一行加入定时计划的配置。
        
        0 0 * * * /home/app/bakmysql.sh                       //每天0时0分执行bakmysql.sh的脚本内容
        
        说明:crontab配置文件格式如下:
        分 时 日 月 周  命令
        

        保存退出,重启crontab: 

        crontab /etc/crontab
        

        查看定时任务:    
        crontab -l
        

posted @ 2020-06-02 18:05  DarJeely  阅读(230)  评论(0编辑  收藏  举报