`

centos7下自动备份mysql数据库

阅读更多
环境:centos7 、mysql5.7

第一步:创建自动备份脚本文件
mkdir backup
cd backup
touch backup.sh

第二步:在备份脚本文件中写入备份脚本
vim backup.sh

脚本内容如下:
#!/bin/bash
DATE=`date +%Y%m%d%H%M`                #every minute
DATABASE=permission_system             #database name
DB_USERNAME=root                       #database username
DB_PASSWORD=123.com                    #database password
BACKUP_PATH=/opt/backup                #backup path

#backup command

/usr/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R --opt $DATABASE | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz

#just backup the latest 5 days

find ${BACKUP_PATH} -mtime +5 -name "${DATABASE}_*.sql.gz" -exec rm -f {} \;


其中:-p后面的root是密码,根据实际情况进行修改;mysql指的是要备份的数据库名称;大于号后面的是备份文件存放地址,$(date "+%Y%m%d_%H:%M:%S") 解析出来是 20190515_14:47:01 这样的。


第三步:设置权限
chmod 777 backup.sh

# 测试一下
./backup.sh

# 查看结果
ls -l

-rwxrwxrwx 1 root root      89 May 15 15:12 backup.sh
-rw-r--r-- 1 root root 1205573 May 15 15:12 mysql_20190515_15:12:50.sql


第四步:设置定时任务
/etc/crontab这个文件
追加一下内容:
59 23 * * * /backup/back.sh

提示: 在每天的23:59分执行/backup/back.sh脚本。
然后重启crontab,使配置生效

/bin/systemctl restart crond.service

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics