当前位置:Gxlcms > 数据库问题 > mysql自动备份

mysql自动备份

时间:2021-07-01 10:21:17 帮助过:15人阅读

配置crontab实现自动备份

crontab -e root

* * 6 * * sh /data/backup/mysql_backup.sh >>/data/backup/backup.log 2>&1

#!/bin/bash

DBusername=root #数据库用户名

DBpasswd=123 #数据库密码

DBname=test #数据库名

Host=192.168.1.2 #ip地址,本地可用localhost

Port=3306 #数据库端口

BKdir=/data/backup #备份存放的目录

BKtime=`date +%Y%m%d` #系统当前时间

#开始备份

mysqldump -h ${Host} -P${Port} -u${DBusername} -p${DBpasswd} ${DBname} \

--default-character-set=utf8 --hex-blob -r ${BKdir}/${DBname}-${BKtime}.sql

#截取所有备份文件的时间

time1=`ls $BKdir/${DBname}*.sql |awk -F- '{print $2}'|awk -F. '{print $1}'`

#删除30天以前的备份文件

for time in ${time1}

do

time2=$(($(date +%s) - $(date +%s -d ${time})));

day=$((time2/60/60/24))

if [[ ${day} > 30 ]]

then

rm -f ${BKdir}/${DBname}-${time}.sql

fi

done

mysql自动备份

标签:default   mysql   awk   ip地址   hex-blob   cal   dbus   dump   当前时间   

人气教程排行