mysql数据库定时备份7天

之前写过一篇博客,mysql数据库定时备份,今天举一个具体完整的例子。

1、在需要备份的数据库上创建计划任务脚本

#!/bin/bash
DATABASE=数据库名称
BACKUP_PATH=/backup/db_fullbak/$(date +%F)
BACKUP_XTRA_FILE=$BACKUP_PATH/$DATABASE_$(date +%F).tar.gz
BACKUP_LOG=/backup/db_fullbak/backup.log
CNF=/etc/my.cnf
OLD_PATH=$BACKUP_PATH/$DATABASE_$(date +%F --date='7 days ago')

if [ ! -d $BACKUP_PATH ]
    then
    mkdir -p $BACKUP_PATH
fi

if [ -d $OLD_PATH ]
    then
        rm -rf $OLD_PATH >> $BACKUP_LOG 2>&1
        echo "delete the old dir $(date +%F --date='7 days ago')" > $BACKUP_LOG
fi
cp $CNF $BACKUP_PATH/my.cnf.$(date +%F)
/usr/bin/innobackupex --defaults-file=$CNF --host=localhost --user=root --password=root --slave-info --stream=tar $BACKUP_PATH 2> $BACKUP_LOG | gzip > $BACKUP_XTRA_FILE
echo "################################################################" >> $BACKUP_LOG

2、赋予脚本权限

3、加入计划任务

su - mysql

crontab -e

0 1 * * * /bin/sh  /backup/db_fullbak/full_backup.sh &>>/backup/db_fullbak/backup.log

4、执行脚本验证结果

./backup/db_fullbak/full_backup.sh





猜你喜欢

转载自blog.csdn.net/sj349781478/article/details/80018098