Linux定时备份mysql数据库
1.创建备份目录
[root@localhost ~]# mkdir -p /backup/data
2.编写数据库备份脚本
[root@localhost ~]# vim mysql_backup.sh
备份脚本如下:
#!/bin/bash
DATE=`date +%Y%m%d_%H%M%S` #备份日期时间
DATABASE=springboot #备份数据库名称
DB_USERNAME=root #数据库账号
DB_PASSWORD="root" #数据库密码
BACKUP_PATH=/backup/data #备份数据,禁止放在网站目录下
#备份命令
/usr/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R --opt $DATABASE | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz
#只备份最近5天的数据
find ${BACKUP_PATH} -mtime +5 -name "${DATABASE}_*.sql.gz" -exec rm -f {} \;
#或者直接写下面这个
# mysqldump -uroot -proot --events ZQFILE | gzip > /backup/data/$(date -d "today" +"%Y%m%d_%H%M%S").sql.gz
3.给脚本执行权限
# chmod +x mysql_backup.sh
4.编写定时备份任务
输入如下命令:
# crontab -e
定时器设置如下:
每天晚上1点执行
0 1 * * * /root/mysql_backup.sh